diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index 7b066db54..da45dd81c 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -1551,6 +1551,33 @@ Public Class ClsInventarios
End Function
+ Public Function GetExistenciasProductoSerie(CvePS As Integer, CveAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_ExistenciaPSSeriesGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al obtener el kardex de almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el kardex de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+
+ End Function
+
#End Region
#Region " INVENTARIOS - REPORTES "
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index 2fc14f0ad..be8eb8dba 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -3903,7 +3903,7 @@
CréditosAcreedoresCaja Chica
- Viaticos
+ ViáticosDeudores
@@ -3911,7 +3911,7 @@
-
+
@@ -3971,7 +3971,7 @@
-
+
@@ -4000,7 +4000,7 @@
-
+
@@ -4029,11 +4029,12 @@
+
-
+
@@ -4052,7 +4053,7 @@
-
+
@@ -4070,16 +4071,18 @@
+
-
+
+
-
+
@@ -4105,7 +4108,7 @@
-
+
@@ -4119,15 +4122,17 @@
+
-
+
+
-
+ D.D
@@ -4235,7 +4240,7 @@
-
+
@@ -4267,10 +4272,11 @@
+
-
+
@@ -4295,7 +4301,7 @@
-
+
@@ -4308,6 +4314,7 @@
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 9781db9cf..6c267c75d 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1332,6 +1332,10 @@ Partial Class Compras_Compras
End If
+ If DdlTipoComprobante.SelectedValue = "DEV" Then
+ InicializaAplicaNCFact()
+ End If
+
If UsuarioActual.Empresa.UsaAC Then
@@ -12838,6 +12842,7 @@ Partial Class Compras_Compras
End Sub
Protected Sub RBLContado_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RBLContado.SelectedIndexChanged
+ LblCheq.Text = RBLContado.SelectedItem.Text
CargaContado()
End Sub
Private Sub RBLTipoDeudor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RBLTipoDeudor.SelectedIndexChanged
@@ -16929,8 +16934,9 @@ Partial Class Compras_Compras
CargaRetISRConcepto()
-
-
+ If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
+ InicializaAplicaNCFact()
+ End If
End Sub
Private Sub OriginalesVisible(Accion As Boolean)
diff --git a/GPS/Shipments.aspx b/GPS/Shipments.aspx
index 4dd237032..a7276eda6 100644
--- a/GPS/Shipments.aspx
+++ b/GPS/Shipments.aspx
@@ -731,6 +731,6 @@
}
-
+
diff --git a/Inventarios/Kardex.aspx b/Inventarios/Kardex.aspx
index ca1b60934..6dc8dfaf9 100644
--- a/Inventarios/Kardex.aspx
+++ b/Inventarios/Kardex.aspx
@@ -116,15 +116,22 @@
Kardex
-
- Generar PDF
-
-
- Generar Excel
-
-
-
-
+
+
+
+ Generar PDF
+
+
+ Generar Excel
+
+
+ Series
+
+
+
+
+
+
@@ -493,6 +500,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Inventarios/Kardex.aspx.vb b/Inventarios/Kardex.aspx.vb
index 448dcc4e4..040ca2bc1 100644
--- a/Inventarios/Kardex.aspx.vb
+++ b/Inventarios/Kardex.aspx.vb
@@ -203,6 +203,8 @@ Partial Class Inventarios_Kardex
If AplicaLote Then GvM.Columns(9).Visible = True
If AplicaCaducidad Then GvM.Columns(10).Visible = True
+ Dim AuxAplicaSerie As Boolean = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimeroValor("AplicaSerie") = "True"
+ LnkSeries.Visible = AuxAplicaSerie
'CARGA INDICADORES
If UsuarioActual.TienePermisoProceso(201) Then
DivIndicadores.Visible = True
@@ -238,6 +240,7 @@ Partial Class Inventarios_Kardex
End If
GvM.DataSource = DtTemp
GvM.DataBind()
+ UpAcciones.Update()
End If
Else
Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia)
@@ -299,6 +302,15 @@ Partial Class Inventarios_Kardex
End If
End Sub
+
+ Private Sub CargarExistenciasProductosSeries()
+ Dim ObjInventarios As New ClsInventarios
+ If ObjInventarios.GetExistenciasProductoSerie(ddlProducto2.SelectedValue.ToEntero(), ddlAlmacen.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
+ GvSeries.DataSource = ObjInventarios.DtResultados
+ End If
+ ObjInventarios.Dispose()
+ GvSeries.DataBind()
+ End Sub
#End Region
#Region " IMPRIMIR "
@@ -409,5 +421,14 @@ Partial Class Inventarios_Kardex
#End Region
+#Region "Acciones"
+ Protected Sub LnkSeries_OnClick(sender As Object, e As EventArgs) Handles LnkSeries.Click
+ CargarExistenciasProductosSeries()
+ UpGridSeries.Update()
+ RegistraScript(String.Format("$('#{0}').modal('show');", "DivModalSerie"))
+ End Sub
+#End Region
+
+
End Class
diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx
index c0e7de431..a4d52dd3d 100644
--- a/Inventarios/RecepcionAlmacen.aspx
+++ b/Inventarios/RecepcionAlmacen.aspx
@@ -418,7 +418,7 @@
+ 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,CveAlmacenDevolucionProveedor" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index cb8126518..3ce4a112d 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -91,6 +91,14 @@ Partial Class Inventarios_RecepcionAlmacen
Return ViewState("IdPoliza").ToString.ToEntero
End Get
End Property
+ Private Property DtAlmacenesDevolucion As DataTable
+ Get
+ Return CType(ViewState("DtAlmacenesDevolucion"), DataTable)
+ End Get
+ Set(value As DataTable)
+ ViewState("DtAlmacenesDevolucion") = value
+ End Set
+ End Property
Private Property DtDatosDetalle As DataTable
Get
Return CType(ViewState("DtDatosDetalle"), DataTable)
@@ -245,6 +253,14 @@ Partial Class Inventarios_RecepcionAlmacen
ViewState("CveAlmacenApartado") = value
End Set
End Property
+ Private Property CveAlmacenDevolucionProveedor As Integer
+ Get
+ Return CType(ViewState("CveAlmacenDevolucionProveedor"), Integer)
+ End Get
+ Set(value As Integer)
+ ViewState("CveAlmacenDevolucionProveedor") = value
+ End Set
+ End Property
Private Property TipoMovimiento As Integer
Get
Return CType(ViewState("TipoMovimiento"), Integer)
@@ -361,6 +377,14 @@ Partial Class Inventarios_RecepcionAlmacen
ViewState("CveVendedor") = value
End Set
End Property
+ Private Property RealizarTraspasoAlmacenDevolucion() As Boolean
+ Get
+ Return If(IsNothing(ViewState("RealizarTraspasoAlmacenDevolucion")), False, CBool(ViewState("RealizarTraspasoAlmacenDevolucion")))
+ End Get
+ Set
+ ViewState("RealizarTraspasoAlmacenDevolucion") = Value
+ End Set
+ End Property
#End Region
@@ -404,8 +428,9 @@ Partial Class Inventarios_RecepcionAlmacen
CveFleteCompra = -1
BuscaEntregaDirecta = -1
CveAlmacenApartado = -1
+ CveAlmacenDevolucionProveedor = -1
TipoMovimiento = 1
-
+ RealizarTraspasoAlmacenDevolucion = False
CantidadTotal = 0
IndexSeccionAlmacen = 0
@@ -778,6 +803,8 @@ Partial Class Inventarios_RecepcionAlmacen
DivTipoCambio.Visible = False
Apartado = False
CveAlmacenApartado = -1
+ CveAlmacenDevolucionProveedor = -1
+ RealizarTraspasoAlmacenDevolucion = False
BtnGuardar.Enabled = True
CargaAlmacenes(-1)
@@ -829,6 +856,9 @@ Partial Class Inventarios_RecepcionAlmacen
Private Sub CargaCompra(pCveCompra As Integer, pCveProveedor As Integer)
'CargaAlmacenes(-1)
+ RealizarTraspasoAlmacenDevolucion = False
+ CveAlmacenDevolucionProveedor = -1
+
Dim ObjCompras As New ClsCompras
Dim ObjInventario As New ClsInventarios
@@ -896,6 +926,13 @@ Partial Class Inventarios_RecepcionAlmacen
DtRecepcion = ObjInventario.DtResultados.Copy()
End If
+ If TipoMovimiento = 2 AndAlso GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=21).Rows.Count > 0 Then
+ RealizarTraspasoAlmacenDevolucion = True
+ CveAlmacenDevolucionProveedor = DtRecepcion.Rows(0)("CveAlmacenDevolucionProveedor").ToString.ToEntero
+ 'CreaDTAlmacenDevolucion()
+ 'CargaAlmacenes(-1, "21", CveTipoCompra)
+ End If
+
DtDatosDetalle = Nothing
CreaDtDetalle()
DtDatosLoteDetalle = Nothing
@@ -1494,6 +1531,14 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End Sub
+ Private Sub CreaDTAlmacenDevolucion()
+ If DtAlmacenesDevolucion Is Nothing Then
+ DtAlmacenesDevolucion = New DataTable
+ DtAlmacenesDevolucion.Columns.Add("CveCompraDetalle", GetType(Integer))
+ DtAlmacenesDevolucion.Columns.Add("CveAlmacenOriginal", GetType(Integer))
+ End If
+ End Sub
+
Private Sub CargaSerie(Tipo As Integer, Optional CerrarCompletado As Boolean = False)
'RegistraScript("document.getElementById(""TxtSerie"").focus();")
RegistraScript("$('#DivSerie').modal();", "ModalLote")
@@ -2206,6 +2251,10 @@ Partial Class Inventarios_RecepcionAlmacen
Dim CveMovimientoVirtual As Integer = -1
Dim FolioVirtual As Integer = -1
+ 'TRASPASO DEVOLUCION
+ Dim CveMovimientoSalidaTraspaso As Integer = -1
+ Dim FolioSalidaTraspaso As String = ""
+
'CONTABILIDAD
Dim CvePrePoliza = -1
Dim MensajeContabilidad = ""
@@ -2218,19 +2267,26 @@ Partial Class Inventarios_RecepcionAlmacen
If HdnTipoDocto.Value <> "Fac" Then RecibidaCompleta = False
+ Dim CveConceptoAlmacen As Integer = If(TipoMovimiento > 1, 13, 2)
+
Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero
Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero()
Dim EsContabilizable As Boolean = (CveModalidad = 1)
- 'ENTRADA ALMACÉN
- CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, If(TipoMovimiento > 1, 13, 2), 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
- CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio),
- MovimientoFijo:=If(TipoMovimiento = 2, True, False), Remision:=TxtRemision.Text, Modulo:="RA/G1")
- If CveMovimiento > 0 Then
- CveMovimientoOriginal = CveMovimiento
- InvFolio = ObjInventario.Folio.ToString
+ If RealizarTraspasoAlmacenDevolucion AndAlso TipoMovimiento = 2 Then
+ CveConceptoAlmacen = 26
+
+ 'For Each gvr As GridViewRow In GvInv.Rows
+ ' If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
+ ' Dim Row As DataRow = DtAlmacenesDevolucion.NewRow()
+ ' Row("CveCompraDetalle") = gvr.DataKey("CveCompraDetalle").ToEntero()
+ ' Row("CveAlmacenOriginal") = gvr.DataKey("CveAlmacenOriginal").ToEntero()
+ ' DtAlmacenesDevolucion.Rows.Add(Row)
+ ' End If
+ 'Next
+
Dim DtDetalle As New DataTable
Dim DtDetalleLote As New DataTable
Dim PU As Decimal = 0.0D
@@ -2238,6 +2294,119 @@ Partial Class Inventarios_RecepcionAlmacen
Dim CostoIndirecto As Decimal = 0.0D
Dim SumaTotal As Decimal = 0.0D
Dim Cont As Integer = 0
+
+ Dim CveMovtoSalidaActual = -1
+ Dim CveMovtoEntradaActual = -1
+ Dim CveVendedorActual = -1
+ Dim CveClienteActual = -1
+
+ Dim CveAlmacenDestino = CveAlmacen
+ Dim CveSeccionDestino As Integer = -1
+
+ 'For Each RowAlmacen As DataRow In DtAlmacenesDevolucion.FiltraParametros("", DistinctColumns:={"CveAlmacenOrignal"}).Rows
+
+ 'SALIDA DE ALMACEN POR TRASPASO
+ CveMovimientoSalidaTraspaso = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoAlmacen, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
+ CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio),
+ MovimientoFijo:=If(TipoMovimiento = 2, True, False), CveAlmacenDestino:=CveAlmacenDestino, Remision:=TxtRemision.Text, Modulo:="RA/G1")
+
+ If CveMovimientoSalidaTraspaso > 0 Then
+ FolioSalidaTraspaso = ObjInventario.Folio.ToString()
+
+ For Each gvr As GridViewRow In GvInv.Rows '.Cast(Of GridViewRow).Where(Function(row) row.DataKey("CveAlmacenOrignal") = RowAlmacen("CveAlmacenOrignal").ToString())
+ If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
+
+ PU = DtInv.Rows(gvr.RowIndex)("PU").ToString.ToDecimal
+ CostoIndirecto = DtInv.Rows(gvr.RowIndex)("CostoIndirecto").ToString.ToDecimal
+ PUExtranjero = DtInv.Rows(gvr.RowIndex)("PUExtranjero").ToString.ToDecimal
+
+ 'SI FUE POR SERIE LOTE
+ DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
+ DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
+ If DtDetalle.Rows.Count > 0 Then
+ Dim ContDt As Integer = 0
+ For Each Dr As DataRow In DtDetalle.Rows
+ SumaTotal += PU + CostoIndirecto
+ If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalle.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> SumaTotal Then
+ If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ PU = Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (PU))
+ End If
+ End If
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaTraspaso, 1, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Serie:=Dr("Serie").ToString, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), Lote:=If(CBool(gvr.DataKey("AplicaLote")), gvr.FCTextBox("TxtLote").Text, ""), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ ContDt += 1
+ Next
+ ElseIf DtDetalleLote.Rows.Count > 0 Then
+ Dim ContDt As Integer = 0
+ For Each Dr As DataRow In DtDetalleLote.Rows
+ SumaTotal += Dr("Cantidad").ToString.ToDecimal * (PU + CostoIndirecto)
+ If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalleLote.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> SumaTotal Then
+ If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (Dr("Cantidad").ToString.ToDecimal * (PU)))) / Dr("Cantidad").ToString.ToDecimal
+ End If
+ End If
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaTraspaso, Dr("Cantidad").ToString.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ ContDt += 1
+ Next
+ Else
+ SumaTotal += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU + CostoIndirecto) ' considerar el costo indirecto para el ajuste
+ If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> Math.Round(SumaTotal, 2) Then
+ Dim tTotal As Decimal = gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU)
+ If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - tTotal)) / gvr.FCTextBox("TbCantidadF").Text.ToDecimal
+ End If
+ End If
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaTraspaso, gvr.FCTextBox("TbCantidadF").Text.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), Lote:=If(CBool(gvr.DataKey("AplicaLote")), gvr.FCTextBox("TxtLote").Text, ""), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ End If
+ 'If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then
+ ' For Each Dr As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {gvr.RowIndex}").Rows
+ ' If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("CantidadSeccionAlmacen").ToString.ToDecimal) Then
+ ' ErrorMovInv = True
+ ' Exit For
+ ' End If
+ ' Next
+ 'End If
+ Cont += 1
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
+
+ 'Next
+
+ 'MODIFICA EL CONCEPTO PARA REALIZAR LA ENTRADA
+ CveConceptoAlmacen = 27
+ CveAlmacen = CveAlmacenDevolucionProveedor
+ End If
+
+ 'ENTRADA ALMACÉN
+ CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoAlmacen, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
+ CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio),
+ MovimientoFijo:=If(TipoMovimiento = 2, True, False), CveMovimientoRelacionado:=CveMovimientoSalidaTraspaso, Remision:=TxtRemision.Text, Modulo:="RA/G1")
+
+ If CveMovimiento > 0 Then
+ CveMovimientoOriginal = CveMovimiento
+ InvFolio = ObjInventario.Folio.ToString
+
+ Dim DtDetalle As New DataTable
+ Dim DtDetalleLote As New DataTable
+ Dim PU As Decimal = 0.0D
+ Dim PUExtranjero As Decimal = 0.0D
+ Dim CostoIndirecto As Decimal = 0.0D
+ Dim SumaTotal As Decimal = 0.0D
+ Dim Cont As Integer = 0
+
For Each gvr As GridViewRow In GvInv.Rows
If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
@@ -2858,6 +3027,7 @@ Partial Class Inventarios_RecepcionAlmacen
MensajeError = "Error al obtener movimientos"
End If
End If
+
'PREPOLIZA - NC
If TipoMovimiento = 3 AndAlso Not ErrorMovInv Then
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
@@ -2983,6 +3153,75 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End If
+ If Not ErrorMovInv AndAlso TipoMovimiento = 2 AndAlso CveMovimientoSalidaTraspaso > 0 Then
+
+ 'VARIABLES
+ Dim Fecha As Date = Now
+ Dim CveProveedor As Integer = -1
+ Dim ProveedorNombre As String = ""
+ Dim SerieFolio As String = ""
+
+ 'Dim DrAlmO, DrAlmD As DataRow
+ 'Dim CveSucursalOrigen, CveSucursalDestino As Integer
+ 'Dim TipoAlmacenOrigen, TipoAlmacenDestino As Integer
+ 'Dim CveSubProyectoOrigen, CveSubProyectoDestino As Integer
+ Dim IdCtaContableOrigen, IdCtaContableDestino As Integer
+
+ If ObjCompras.GetCompras(CveCompraSurtir, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
+ 'Fecha = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate
+ Fecha = TxtFecha.Text.ToDate
+ CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero
+ ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString
+ SerieFolio = $"Compra: {ObjCompras.DtResultados(0)("SerieFolio").ToString}"
+ Else
+ ErrorMovInv = True
+ End If
+
+ 'DrAlmO = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacen.SelectedValue.ToEntero).FiltroPrimero("")
+ 'DrAlmD = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacenDevolucionProveedor).FiltroPrimero("")
+
+ 'If Not ErrorMovInv AndAlso DrAlmO IsNot Nothing AndAlso DrAlmD IsNot Nothing Then
+ ' CveSucursalOrigen = DrAlmO("CveSubProyecto").ToString.ToEntero
+ ' TipoAlmacenOrigen = DrAlmO("CveTipoAlmacen").ToString.ToEntero
+ ' CveSubProyectoOrigen = DrAlmO("CveSubProyecto").ToString.ToEntero
+ ' IdCtaContableOrigen = DrAlmO("IdCtaContable").ToString.ToEntero
+
+ ' CveSucursalDestino = DrAlmD("CveSubProyecto").ToString.ToEntero
+ ' TipoAlmacenDestino = DrAlmD("CveTipoAlmacen").ToString.ToEntero
+ ' CveSubProyectoDestino = DrAlmD("CveSubProyecto").ToString.ToEntero
+ ' IdCtaContableDestino = DrAlmO("IdCtaContable").ToString.ToEntero
+ 'Else
+ ' ErrorMovInv = True
+ 'End If
+
+ Dim resultado As DataTable = Nothing
+
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaTraspaso, UsuarioActual.CveEmpresa) Then
+ resultado = ObjInventario.DtResultados.Copy()
+ Else
+ ErrorMovInv = True
+ End If
+
+ 'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {CveAlmacenDevolucionProveedor}").ToEntero()
+
+ 'AGREGAMOS PREPOLIZAS TRASPASO DIRECTO:
+ Dim CvePrePolizaTraspaso As Integer = ObjConta.AddPrePolizas("RecepcionAlmacen/TraspasoAlmacen", 53, 0, 0, 1, Now, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ If CvePrePolizaTraspaso > 0 AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaTraspaso, UsuarioActual.CveEmpresa) Then
+ Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTraspaso, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoSalidaTraspaso, Contabilizable:=False, ImporteMX:=importe) Then
+ ErrorMovInv = True
+ End If
+
+ If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTraspaso, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableDestino, -1, CveMovimientoAlmacen:=CveMovimiento, Contabilizable:=False, ImporteMX:=importe) Then
+ ErrorMovInv = True
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+
+ End If
+
'AGREGA SALDOS A OC SURTIDAS
If Not ErrorMovInv And CveOCSurtir > 0 Then
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
@@ -3013,8 +3252,19 @@ Partial Class Inventarios_RecepcionAlmacen
Dim Msg As New StringBuilder
Dim link As String = String.Format("{1}", CveMovimiento, InvFolio)
- Msg.AppendFormat("Movimiento Registrado: Folio: {0}", link)
- Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
+ 'SI LO SOLO GENERO EL MOVIMIENTO DE ENTRADA O SALIDA
+ If CveMovimiento > 0 AndAlso CveMovimientoSalidaTraspaso <= 0 Then
+ Msg.AppendFormat("Movimiento Registrado: Folio: {0}", link)
+ Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
+ 'SI GENERO UN TRASPASO AL ALMACEN DE DEVOLUCION
+ ElseIf CveMovimiento > 0 AndAlso CveMovimientoSalidaTraspaso > 0 Then
+ Msg.AppendFormat("Movimiento de Salida: Folio: {0}", String.Format("{1}", CveMovimientoSalidaTraspaso, FolioSalidaTraspaso))
+ Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalidaTraspaso)))
+
+ Msg.AppendFormat(" Movimiento de Entrada: Folio: {0}", link)
+ Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
+ End If
+
'If CveMovtoSalidaDirecta > 0 Then
' Msg.AppendFormat("
Movimientos de control: ")
@@ -3047,7 +3297,6 @@ Partial Class Inventarios_RecepcionAlmacen
link = String.Format("{1}", CveMovimientoVirtual, FolioVirtual)
Msg.AppendFormat(" Movimiento de Entrada al Almacen Virtual: Folio: {0}", link)
Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtual)))
-
End If
'CONTABILIDAD
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb
index 1d1460e35..4f86550c6 100644
--- a/OC/OC.aspx.vb
+++ b/OC/OC.aspx.vb
@@ -5390,11 +5390,11 @@ Partial Class OC
If CveConfianzaProveedor <= 0 Then
CveConfianzaProveedor = 2
End If
-
- ChkCotizacion.Checked = CveConfianzaProveedor > 0
- ChkCotizacion.Enabled = CveConfianzaProveedor <= 0
End If
+ ChkCotizacion.Checked = CveConfianzaProveedor > 0
+ ChkCotizacion.Enabled = CveConfianzaProveedor <= 0
+
End If
End If
diff --git a/PortalCliente/PortalCliente.aspx.vb b/PortalCliente/PortalCliente.aspx.vb
index 4a162581a..c45f2926f 100644
--- a/PortalCliente/PortalCliente.aspx.vb
+++ b/PortalCliente/PortalCliente.aspx.vb
@@ -701,7 +701,7 @@ Partial Class Ventas_PortalCliente
End If
If EstatusPagoProsepago = 0 Then
- Alert("Ocurrió un error al procesar el pago, no se a realizadó ningun cargo. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
+ Alert("La transacción no se pudo realizar, no se aplicó ningun cargo. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
@@ -1131,7 +1131,7 @@ Partial Class Ventas_PortalCliente
If Not TieneError Then
ObjConta.Commit()
- Alert($"Se realizó el pago exitoso de las siguientes facturas:
{MensajeAlert.ToString}", TipoMensaje.MsgInformacion)
+ Alert($"La transacción se realizó correctamente y el pago se aplicó en las siguientes facturas:
{MensajeAlert.ToString}", TipoMensaje.MsgInformacion)
Else
ObjConta.RollBack()
Alert(MensajeError.ToString, TipoMensaje.MsgError)
diff --git a/Ventas/ActualizarPrecios.aspx.vb b/Ventas/ActualizarPrecios.aspx.vb
index 07f9d3816..54e4822da 100644
--- a/Ventas/ActualizarPrecios.aspx.vb
+++ b/Ventas/ActualizarPrecios.aspx.vb
@@ -74,32 +74,32 @@ Partial Class Ventas_ActualizarPrecios
DDlClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
- Public Sub CargaPreciosLista()
-
- DdlPrecioLista.Items.Clear()
-
- If UsuarioActual.Empresa.Funcionalidad(404).ToEntero > 0 Then 'si manneja precios de lista
- Dim ObjVta As New ClsVentas
- Dim primerItem As String = ""
- If ObjVta.GetPrecioListas(UsuarioActual.CveEmpresa) Then
- DdlPrecioLista.DataSource = ObjVta.DtResultados.Copy()
- DdlPrecioListaCarga.DataSource = ObjVta.DtResultados.Copy()
- primerItem = ObjVta.DtResultados.FiltroPrimeroValor("CvePrecioLista")
- End If
- ObjVta.Dispose()
-
-
- DdlPrecioLista.DataBind()
- DdlPrecioListaCarga.DataBind()
-
- If (DdlPrecioLista.Items.Count = 1) Then
- DdlPrecioLista.Items.FindByValue(primerItem).Selected = True
- End If
- Else
+ Public Sub CargaPreciosLista()
+
+ DdlPrecioLista.Items.Clear()
+
+ If UsuarioActual.Empresa.Funcionalidad(404).ToEntero > 0 Then 'si manneja precios de lista
+ Dim ObjVta As New ClsVentas
+ Dim primerItem As String = ""
+ If ObjVta.GetPrecioListas(UsuarioActual.CveEmpresa) Then
+ DdlPrecioLista.DataSource = ObjVta.DtResultados.Copy()
+ DdlPrecioListaCarga.DataSource = ObjVta.DtResultados.Copy()
+ primerItem = ObjVta.DtResultados.FiltroPrimeroValor("CvePrecioLista")
+ End If
+ ObjVta.Dispose()
+
+
+ DdlPrecioLista.DataBind()
+ DdlPrecioListaCarga.DataBind()
+
+ If (DdlPrecioLista.Items.Count = 1) Then
+ DdlPrecioLista.Items.FindByValue(primerItem).Selected = True
+ End If
+ Else
DdlPrecioLista.Items.Insert(0, New ListItem("Sin Precio Lista", "-2"))
- DdlPrecioListaCarga.Items.Insert(0, New ListItem("Sin Precio Lista", "-2"))
- End If
-
+ DdlPrecioListaCarga.Items.Insert(0, New ListItem("Sin Precio Lista", "-2"))
+ End If
+
End Sub
Public Sub CargaPS()
@@ -142,19 +142,19 @@ Partial Class Ventas_ActualizarPrecios
DdlMarca.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
- Private Sub CargarModelos()
- If UsuarioActual.Empresa.Funcionalidad(558).ToString = "1" Then
- lblModelo.visible = True
- DdlModelo.Visible = True
- Dim ObjGeneral As New ClsGenerales
- If ObjGeneral.GetModelos(UsuarioActual.CveEmpresa) Then
- DdlModelo.DataSource = ObjGeneral.DtResultados
- End If
- ObjGeneral.Dispose()
- DdlModelo.DataBind()
- End If
- DdlModelo.Items.Insert(0, New ListItem("Seleccione", "-1"))
-
+ Private Sub CargarModelos()
+ If UsuarioActual.Empresa.Funcionalidad(558).ToString = "1" Then
+ lblModelo.visible = True
+ DdlModelo.Visible = True
+ Dim ObjGeneral As New ClsGenerales
+ If ObjGeneral.GetModelos(UsuarioActual.CveEmpresa) Then
+ DdlModelo.DataSource = ObjGeneral.DtResultados
+ End If
+ ObjGeneral.Dispose()
+ DdlModelo.DataBind()
+ End If
+ DdlModelo.Items.Insert(0, New ListItem("Seleccione", "-1"))
+
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
Dim objPS As New ClsProductosServicios
@@ -223,7 +223,7 @@ Partial Class Ventas_ActualizarPrecios
ObjPS.Dispose()
BtnConsultar_Click(Nothing, Nothing)
- RegistraScript("$('#divAgregar').modal('hide')")
+ RegistraScript("$('#divAgregar').modal('hide')")
TxtImporte.Text = ""
TxtPrecio.Text = ""
TxtPorcentaje.Text = ""
@@ -410,26 +410,26 @@ Partial Class Ventas_ActualizarPrecios
Dim Correcto As Boolean = False
Dim CvePS As Integer = DtPS.FiltroPrimeroValor("CvePS", String.Format("Codigo='{0}' AND CveEmpresa={1}", row(0).ToString(), UsuarioActual.CveEmpresa))
Dim CvePrecioLista As Integer = DdlPrecioListaCarga.SelectedValue.ToEntero()
- Dim PrecioNuevo As Decimal = row("Precio").ToString().ToDecimal()
+ Dim PrecioNuevo As Decimal = row("Precio").ToString().ToDecimal()
Dim Porcentaje As Decimal = -1
- If CvePS > 0 AndAlso CvePrecioLista > 0 Then
-
-
+ If CvePS > 0 AndAlso CvePrecioLista > 0 Then
+
+
Correcto = ObjPS.UpdatePSPreciosLista(PrecioNuevo, CvePrecioLista, Porcentaje, CvePS, UsuarioActual.CveUsuario, DateTime.Now, True)
If Correcto Then
RowsCargados += 1
End If
- Else
- If CvePS > 0 AndAlso CvePrecioLista = -2 Then
- Correcto = ObjPS.UpdatePSPrecios(PrecioNuevo, CvePrecioLista, Porcentaje, CvePS, UsuarioActual.CveUsuario, DateTime.Now, True)
- If Correcto Then
- RowsCargados += 1
- End If
- Else
- Correcto = False
- End If
-
+ Else
+ If CvePS > 0 AndAlso CvePrecioLista = -2 Then
+ Correcto = ObjPS.UpdatePSPrecios(PrecioNuevo, CvePrecioLista, Porcentaje, CvePS, UsuarioActual.CveUsuario, DateTime.Now, True)
+ If Correcto Then
+ RowsCargados += 1
+ End If
+ Else
+ Correcto = False
+ End If
+
End If
If Not Correcto Then
ProductosNoCargados.AppendFormat("{0},", row("Producto / Servicio").ToString())
@@ -508,12 +508,12 @@ Partial Class Ventas_ActualizarPrecios
End While
Return dataTable
- End Function
+ End Function
#End Region
-
- Protected Sub gvSucursal_RowDataBound(sender As Object, e As GridViewRowEventArgs)
- If e.Row.RowType = DataControlRowType.DataRow Then
- e.Row.FCTextBox("TxtPrecioMinimo").Attributes.Add("onKeyUp", String.Format("FncSeleccionaChk({0});", e.Row.FCCheckBox("chkSucursal").ClientID))
- End If
- End Sub
+
+ Protected Sub gvSucursal_RowDataBound(sender As Object, e As GridViewRowEventArgs)
+ If e.Row.RowType = DataControlRowType.DataRow Then
+ e.Row.FCTextBox("TxtPrecioMinimo").Attributes.Add("onKeyUp", String.Format("FncSeleccionaChk({0});", e.Row.FCCheckBox("chkSucursal").ClientID))
+ End If
+ End Sub
End Class
\ No newline at end of file