AlmacenesVirutuales

This commit is contained in:
2019-11-13 13:01:47 -07:00
parent d7b4ea662c
commit dad0adba70
8 changed files with 852 additions and 653 deletions

View File

@@ -4156,7 +4156,7 @@ Namespace Modelos
End Select End Select
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
DtExistencias = ObjInventario.DtResultados.FiltraParametros($"CvePS IS NOT NULL AND {Filtro}") DtExistencias = ObjInventario.DtResultados.FiltraParametros($"CvePS IS NOT NULL AND {Filtro} AND CveTipoPS = 2")
TieneSalida = DtExistencias.Rows.Count > 0 TieneSalida = DtExistencias.Rows.Count > 0
Else Else
ErrorCancelar = True ErrorCancelar = True
@@ -4269,6 +4269,12 @@ Namespace Modelos
End If End If
End If End If
End If 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
Else Else
'UTILIZA LA DEVOLUCION YA REALIZADA 'UTILIZA LA DEVOLUCION YA REALIZADA
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
@@ -4503,6 +4509,58 @@ Namespace Modelos
Return Retorno Return Retorno
End Function End Function
Private Function GeneraMovimientosVirtuales(CveVenta As Integer, ByRef ObjInventario As ClsInventarios) As Boolean
Dim ErrorCancelar As Boolean = False
Try
If UsuarioActual.CveEmpresa = 140 Then
Dim CveMovimientoSalida As Integer = -1
Dim CveAlmacenVirutal As Integer = -1
Dim DtMovtosDev As DataTable = Nothing
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND CveTipoAlmacen = 24 AND CveConcepto = 3 AND CveVenta > 0")
CveMovimientoSalida = RowMovimiento("CveMovimiento").ToString().ToEntero()
CveAlmacenVirutal = RowMovimiento("CveAlmacen").ToString().ToEntero()
Else
ErrorCancelar = True
End If
If CveMovimientoSalida > 0 Then
'CARGA CONCEPTOS DEVUELTOS EN LA VENTA
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
DtMovtosDev = ObjInventario.DtResultados.Copy()
Else
ErrorCancelar = True
End If
If DtMovtosDev IsNot Nothing AndAlso DtMovtosDev.Rows.Count > 0 Then
Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenVirutal, 18, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1)
For Each RowUsado As DataRow In DtMovtosDev.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorCancelar = True
Exit For
End If
Next
Else
ErrorCancelar = True
End If
End If
End If
Catch ex As Exception
OnError("Ocurrió un error al realizar la devolución al almacen virtual.", ex)
ErrorCancelar = True
End Try
Return Not ErrorCancelar
End Function
Private Function GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimiento As Integer, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios, ByRef DtDevRem As DataTable, ByRef ListaRemisionesCancelar As List(Of Integer)) As Boolean Private Function GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimiento As Integer, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios, ByRef DtDevRem As DataTable, ByRef ListaRemisionesCancelar As List(Of Integer)) As Boolean
Dim ErrorCancelar As Boolean = False Dim ErrorCancelar As Boolean = False

View File

@@ -408,7 +408,8 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </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" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None"> <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" 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" /> <HeaderStyle Height="58px" />
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>

View File

@@ -354,6 +354,7 @@ Partial Class Inventarios_RecepcionAlmacen
ViewState("CveVendedor") = value ViewState("CveVendedor") = value
End Set End Set
End Property End Property
#End Region #End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
@@ -1998,6 +1999,7 @@ Partial Class Inventarios_RecepcionAlmacen
Dim ObjCompras As New ClsCompras(ObjInventario.IniciaTransacSQL()) Dim ObjCompras As New ClsCompras(ObjInventario.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL()) Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim ObjOC As New ClsOC(ObjInventario.IniciaTransacSQL()) Dim ObjOC As New ClsOC(ObjInventario.IniciaTransacSQL())
Dim ObjAcum As New ClsAcumuladores(ObjInventario.IniciaTransacSQL())
Dim ObjContaAC As ClsContPAQi = Nothing Dim ObjContaAC As ClsContPAQi = Nothing
Dim ObjContaContPAQ As ClsContPAQi = Nothing Dim ObjContaContPAQ As ClsContPAQi = Nothing
@@ -2011,10 +2013,15 @@ Partial Class Inventarios_RecepcionAlmacen
Dim MovtosEntrada As New List(Of Integer) Dim MovtosEntrada As New List(Of Integer)
Dim FoliosEntrada As New List(Of Integer) Dim FoliosEntrada As New List(Of Integer)
'VIRUAL
Dim CveMovimientoVirtual As Integer = -1
Dim FolioVirtual As Integer = -1
'CONTABILIDAD 'CONTABILIDAD
Dim CvePrePoliza = -1 Dim CvePrePoliza = -1
Dim MensajeContabilidad = "" Dim MensajeContabilidad = ""
Try
'RECARGA TC CUANDO ES RECEPCION CON OC Y DOLARES 'RECARGA TC CUANDO ES RECEPCION CON OC Y DOLARES
If CveOCSurtir > 0 And CveMoneda <> 1 Then If CveOCSurtir > 0 And CveMoneda <> 1 Then
TipoCambio = GlobalTipoCambio(TxtFecha.Text.ToDate) TipoCambio = GlobalTipoCambio(TxtFecha.Text.ToDate)
@@ -2083,6 +2090,7 @@ Partial Class Inventarios_RecepcionAlmacen
End If End If
End If End If
If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then
For Each Dr As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {gvr.RowIndex}").Rows 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 If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("CantidadSeccionAlmacen").ToString.ToDecimal) Then
@@ -2120,7 +2128,7 @@ Partial Class Inventarios_RecepcionAlmacen
If EntregaDirecta Then If EntregaDirecta Then
If Not ErrorMovInv Then If Not ErrorMovInv Then
Dim CveVenta As Integer = 0 Dim CveVenta As Integer = 0
Dim Dt As DataTable Dim Dt As DataTable = Nothing
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
If ObjInventario.DtResultados.Rows.Count > 0 Then If ObjInventario.DtResultados.Rows.Count > 0 Then
@@ -2163,7 +2171,6 @@ Partial Class Inventarios_RecepcionAlmacen
'APARTADOS 'APARTADOS
If Apartado Then If Apartado Then
If ObjInventario.GetMovimientosDetalleVendedor(CveMovimiento) Then If ObjInventario.GetMovimientosDetalleVendedor(CveMovimiento) Then
Dim CveMovtoSalidaActual = -1 Dim CveMovtoSalidaActual = -1
Dim CveMovtoEntradaActual = -1 Dim CveMovtoEntradaActual = -1
Dim CveVendedorActual = -1 Dim CveVendedorActual = -1
@@ -2199,11 +2206,59 @@ Partial Class Inventarios_RecepcionAlmacen
ErrorMovInv = True ErrorMovInv = True
Exit For Exit For
End If End If
Next Next
End If End If
End If End If
'VIRTUAL
Dim DtTamanios As New DataTable("DtTamanios")
DtTamanios.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
DtTamanios.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtTamanios.Columns.Add(New DataColumn("PU", GetType(Decimal)))
DtTamanios.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
For Each GvRow As GridViewRow In GvInv.Rows
If GvRow.RowType = DataControlRowType.DataRow Then
For Each Tam As DataRow In ObjAcum.DtResultados.Rows
If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then
Dim Row As DataRow = DtTamanios.NewRow()
Row("CvePS") = Tam("CvePSCargo").ToString().ToEntero()
Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal()
Row("PU") = GvRow.DataKey("PU").ToDecimal()
Row("CveUM") = GvRow.DataKey("CveUM").ToEntero()
DtTamanios.Rows.Add(Row)
End If
Next
End If
Next
End If
'If DtTamanios.Rows.Count = 0 Then
' ErrorMovInv = True
'End If
If DtTamanios IsNot Nothing AndAlso DtTamanios.Rows.Count > 0 Then
Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirutal, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim)
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtTamanios.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
End If
'DEVENGAR AC 'DEVENGAR AC
If Not ErrorMovInv AndAlso UsuarioActual.Empresa.UsaAC Then If Not ErrorMovInv AndAlso UsuarioActual.Empresa.UsaAC Then
@@ -2615,6 +2670,10 @@ Partial Class Inventarios_RecepcionAlmacen
ErrorMovInv = True ErrorMovInv = True
End If End If
End If End If
Catch ex As Exception
ErrorMovInv = True
OnError("Ocurrió un error al guardar", ex)
End Try
'FINAL 'FINAL
If Not ErrorMovInv Then If Not ErrorMovInv Then
@@ -2649,6 +2708,12 @@ Partial Class Inventarios_RecepcionAlmacen
Next Next
End If End If
'VIRTUAL
If CveMovimientoVirtual > 0 Then
link = String.Format("<a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a>", CveMovimientoVirtual, FolioVirtual)
Msg.AppendFormat("<br/>Movimiento de Entrada al Almacen Virtal: Folio: <b>{0}</b>", link)
End If
'CONTABILIDAD 'CONTABILIDAD
Msg.Append(MensajeContabilidad) Msg.Append(MensajeContabilidad)
@@ -3424,14 +3489,6 @@ Partial Class Inventarios_RecepcionAlmacen
End Sub End Sub
#End Region #End Region
#Region "Imprimir PDF/Excel" #Region "Imprimir PDF/Excel"
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
@@ -3465,9 +3522,6 @@ Partial Class Inventarios_RecepcionAlmacen
#End Region #End Region
#Region " VIEJO - POR ELIMINAR 22 NOVIEMBRE 2017 " #Region " VIEJO - POR ELIMINAR 22 NOVIEMBRE 2017 "
Protected Sub ImgAlmacen_Click(sender As Object, e As ImageClickEventArgs) Protected Sub ImgAlmacen_Click(sender As Object, e As ImageClickEventArgs)
For i As Integer = 0 To GvInv.Rows.Count - 1 For i As Integer = 0 To GvInv.Rows.Count - 1
@@ -3597,6 +3651,4 @@ Partial Class Inventarios_RecepcionAlmacen
#End Region #End Region
End Class End Class

View File

@@ -330,6 +330,16 @@
</div> </div>
</div> </div>
</div> </div>
<%--ADVERTENCIA--%>
<div class="col-md-12" style="vertical-align: middle;" align="center">
<div style="z-index: 5; position: relative;">
<div id="DivVirtualAdvertencia" visible="false" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
<asp:Literal Text="" runat="server" ID="Literal1"></asp:Literal>
</div>
</div>
</div>
<div class="col-md-6"> <div class="col-md-6">
<asp:GridView ID="GvDocs" DataKeyNames="CveDocumentacion,Documentacion,Orden,CveDocumentacionElectronica,Adjunto,Estatus" runat="server" AutoGenerateColumns="False" ShowHeader="true" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-height="100" data-freezerows="1" GridLines="None"> <asp:GridView ID="GvDocs" DataKeyNames="CveDocumentacion,Documentacion,Orden,CveDocumentacionElectronica,Adjunto,Estatus" runat="server" AutoGenerateColumns="False" ShowHeader="true" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-height="100" data-freezerows="1" GridLines="None">
<Columns> <Columns>
@@ -346,7 +356,6 @@
</div> </div>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
@@ -408,7 +417,8 @@
</div> </div>
<%--GV DATOS--%> <%--GV DATOS--%>
<asp:GridView ID="GvDatos" runat="server" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowFooter="True" ShowHeader="true" ShowHeaderWhenEmpty="True" DataKeyNames="Consec,CvePS,Codigo,CodigoBarras,AplicaSerieLote,CveUM,CantidadC,CantidadF,UM,PS,CveClasificacion,CveVentaDetalle" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD gvInventario mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None"> <asp:GridView ID="GvDatos" runat="server" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowFooter="True" ShowHeader="true" ShowHeaderWhenEmpty="True"
DataKeyNames="Consec,CvePS,Codigo,CodigoBarras,AplicaSerieLote,CveUM,CantidadC,CantidadF,UM,PS,CveClasificacion,CveVentaDetalle,CveTamaño,PUVenta" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD gvInventario mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
<HeaderStyle Height="58px" /> <HeaderStyle Height="58px" />
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>

View File

@@ -3,6 +3,7 @@ Option Explicit On
Imports System.Data Imports System.Data
Imports System.IO Imports System.IO
Imports System.Linq
Imports Extensiones Imports Extensiones
Partial Class Inventarios_RecepcionEntrega Partial Class Inventarios_RecepcionEntrega
@@ -711,6 +712,11 @@ Partial Class Inventarios_RecepcionEntrega
DivTipoCambioAdvertencia.Visible = False DivTipoCambioAdvertencia.Visible = False
End If End If
'If DtDatos.Rows.Cast(Of DataRow).Any(Function(Row) Row("CveTamaño").ToString().ToEntero() > 0) Then
'End If
DdlAlmacen.Items.Clear() DdlAlmacen.Items.Clear()
If CveAlmacenTraspasoOrigen > 0 Then If CveAlmacenTraspasoOrigen > 0 Then
DdlAlmacen.Items.Insert(0, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveAlmacenTraspasoOrigen}"), CveAlmacenTraspasoOrigen.ToString)) DdlAlmacen.Items.Insert(0, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveAlmacenTraspasoOrigen}"), CveAlmacenTraspasoOrigen.ToString))
@@ -1526,6 +1532,9 @@ Partial Class Inventarios_RecepcionEntrega
Dim CveMovimientoGarantia As Integer = -1 Dim CveMovimientoGarantia As Integer = -1
Dim FolioGarantia As Integer = -1 Dim FolioGarantia As Integer = -1
Dim CveMovimientoVirtual As Integer = -1
Dim FolioVirtual As Integer = -1
'PASA DATOS DEL GV A DATATABLE PARA MANEJOR CON FOR EACH 'PASA DATOS DEL GV A DATATABLE PARA MANEJOR CON FOR EACH
Dim Index = 0 Dim Index = 0
For Each gvr As GridViewRow In GvDatos.Rows For Each gvr As GridViewRow In GvDatos.Rows
@@ -1901,7 +1910,7 @@ Partial Class Inventarios_RecepcionEntrega
DtGarantias = ObjAcumuladores.DtResultados.Copy() DtGarantias = ObjAcumuladores.DtResultados.Copy()
End If End If
If DtGarantias IsNot Nothing AndAlso DtGarantias.Rows.Count > 0 Then If DtGarantias IsNot Nothing AndAlso DtGarantias.Rows.Count > 0 AndAlso CveAlmacenGarantia > 0 Then
CveMovimientoGarantia = ObjInventario.AddMovimiento(CveAlmacenGarantia, 2, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text) CveMovimientoGarantia = ObjInventario.AddMovimiento(CveAlmacenGarantia, 2, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text)
FolioGarantia = ObjInventario.Folio FolioGarantia = ObjInventario.Folio
@@ -1922,6 +1931,66 @@ Partial Class Inventarios_RecepcionEntrega
' TERMINA: GARANTIAS ' TERMINA: GARANTIAS
' COMIENZA: VIRTUAL
If TipoDocto.Contiene("Ing", "Rem") AndAlso UsuarioActual.CveEmpresa = 140 AndAlso TipoMovimiento = 1 Then
Dim DtTamanios As New DataTable("DtTamanios")
DtTamanios.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
DtTamanios.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtTamanios.Columns.Add(New DataColumn("PU", GetType(Decimal)))
DtTamanios.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
For Each GvRow As GridViewRow In GvDatos.Rows
If GvRow.RowType = DataControlRowType.DataRow Then
For Each Tam As DataRow In ObjAcumuladores.DtResultados.Rows
If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then
Dim Row As DataRow = DtTamanios.NewRow()
Row("CvePS") = Tam("CvePSCargo").ToString().ToEntero()
Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal()
Row("PU") = GvRow.DataKey("PUVenta").ToDecimal()
Row("CveUM") = GvRow.DataKey("CveUM").ToEntero()
DtTamanios.Rows.Add(Row)
End If
Next
End If
Next
End If
Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
If DtTamanios IsNot Nothing AndAlso DtTamanios.Rows.Count > 0 AndAlso CveAlmacenVirutal > 0 Then
Dim CveConceptoMovimientoVirtual = If(TipoMovimiento = 1, 3, 18) 'CHECA SI ES ENTRADA O DEVOLUCION
CveAlmacenVirutal = ObjInventario.AddMovimiento(CveAlmacenVirutal, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text)
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtTamanios.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadEntrada As Double = RowUsado("Cantidad").ToString().ToDouble()
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveAlmacenVirutal, CantidadEntrada, CveUM, CvePS, PU, -1) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
Exit For
End If
Next
Else
ErrorMovInv = True
End If
If DtTamanios.Rows.Count = 0 Then
ErrorMovInv = True
End If
End If
' TERMINA: VIRTUAL
If Not ErrorMovInv Then If Not ErrorMovInv Then
Dim ConceptoMovimiento = 3 Dim ConceptoMovimiento = 3
ConceptoMovimiento = If(TipoMovimiento = 1, ConceptoMovimiento, 18) ConceptoMovimiento = If(TipoMovimiento = 1, ConceptoMovimiento, 18)
@@ -2389,8 +2458,14 @@ Partial Class Inventarios_RecepcionEntrega
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoGarantia))) Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoGarantia)))
End If End If
'VIRTUAL
If CveMovimientoVirtual > 0 Then
Msg.AppendFormat("<br/> Movimiento de Salida del Almacen Virtal: Folio : ")
Msg.AppendFormat("<b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoVirtual, FolioVirtual)
End If
'If CveMovimientoSalidaDevRem > 0 Then 'If CveMovimientoSalidaDevRem > 0 Then
' Msg.AppendFormat("<br/><br/> Movimiento de salida de devolución (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoSalidaDevRem, FolioMovimientoSalidaDevRem) ' Msg.AppendFormat(" < br /<> br /> Movimiento de salida de devolución (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoSalidaDevRem, FolioMovimientoSalidaDevRem)
' Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalidaDevRem))) ' Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalidaDevRem)))
' Msg.AppendFormat("<br/><br/> Movimiento de entrada de devolución (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoEntradaDevRem, FolioMovimientoEntradaDevRem) ' Msg.AppendFormat("<br/><br/> Movimiento de entrada de devolución (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoEntradaDevRem, FolioMovimientoEntradaDevRem)

View File

@@ -638,7 +638,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If End If
'VALIDA ALMACEN DISTINTA SUCURSAL DEBE SER TRANSITORIO 'VALIDA ALMACEN DISTINTA SUCURSAL DEBE SER TRANSITORIO
If UsuarioActual.CveEmpresa <> 7 Then '[IPP] EMPRESA VIGILANCIA NO OCUPA TRANSITORIOS - TIENEN MIL SUCURSALES Xd If Not UsuarioActual.CveEmpresa.Contiene(7, 140) Then '[IPP] EMPRESA VIGILANCIA NO OCUPA TRANSITORIOS - TIENEN MIL SUCURSALES Xd
If Not ChkTransitorio.Checked Then If Not ChkTransitorio.Checked Then
Dim CveSucursalOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}") Dim CveSucursalOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}")
Dim CveSucursalDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}") Dim CveSucursalDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}")
@@ -747,7 +747,7 @@ Partial Class Inventarios_TraspasoAlmacen
Dim ErrorMovInv As Boolean = False Dim ErrorMovInv As Boolean = False
Dim ErrorAC As Boolean = False Dim ErrorAC As Boolean = False
Dim TextoError = "" Dim TextoError = ""
Dim TipoMovimientoSalida = If(ChkTransitorio.Checked, 26, 8) Dim TipoMovimientoSalida = If(ChkTransitorio.Checked, 26, If(TipoAlmacenOrigen = 24, 26, 8))
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN

View File

@@ -92,8 +92,9 @@ Partial Class Ventas_RepRecuperacion
'Carga Bancos' 'Carga Bancos'
DdlBanco.DataSource = GlobalDTBancos().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") DdlBanco.DataSource = GlobalDTBancos().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}")
DdlBanco.Items.Insert(0, New ListItem("Todos", "-1"))
DdlBanco.DataBind() DdlBanco.DataBind()
DdlBanco.Items.Insert(0, New ListItem("Todos", "-1"))
DdlBanco.Items.Add(New ListItem("Empresa", "0"))
'Carga Clasificacion Cliente' 'Carga Clasificacion Cliente'
Dim ObjCliente As New ClsClientes Dim ObjCliente As New ClsClientes
@@ -179,9 +180,7 @@ Partial Class Ventas_RepRecuperacion
Protected Sub DdlBanco_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlBanco_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlCuentaBancaria.Items.Clear() DdlCuentaBancaria.Items.Clear()
If DdlBanco.SelectedValue.ToEntero > 0 Then DdlCuentaBancaria.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltraParametros($"CveBanco = {DdlBanco.SelectedValue.ToEntero}")
DdlCuentaBancaria.DataSource = GlobalDTBancosCuentas(-1).FiltraParametros($"CveBanco = {DdlBanco.SelectedValue.ToEntero}")
End If
DdlCuentaBancaria.Items.Insert(0, New ListItem("Todos", "-1")) DdlCuentaBancaria.Items.Insert(0, New ListItem("Todos", "-1"))
DdlCuentaBancaria.DataBind() DdlCuentaBancaria.DataBind()
End Sub End Sub

View File

@@ -3344,7 +3344,7 @@ Partial Class Ventas
Dim Cons As Integer = 1 Dim Cons As Integer = 1
For Each dr As DataRow In OS.DtResultados.FiltraParametros("SeFacturara = 1 ").Rows For Each dr As DataRow In OS.DtResultados.FiltraParametros("SeFacturara = 1 ").Rows
AgregarProductoServicio(dr("Cantidad").ToString.ToDecimal, dr("CveUM").ToString.ToEntero, dr("UM").ToString, -1, "", dr("CvePS").ToString.ToEntero, "", dr("Obs").ToString, dr("PU"), 0, -1, "", AgregarProductoServicio(dr("Cantidad").ToString.ToDecimal, dr("CveUM").ToString.ToEntero, dr("UM").ToString, -1, "", dr("CvePS").ToString.ToEntero, "", dr("Obs").ToString, dr("PU").ToString.ToDecimal, 0, -1, "",
dr("CveSubProyecto").ToString.ToEntero, dr("SubProyecto").ToString) dr("CveSubProyecto").ToString.ToEntero, dr("SubProyecto").ToString)
'Dim drt As DataRow = TmpDT.NewRow 'Dim drt As DataRow = TmpDT.NewRow
@@ -6862,7 +6862,7 @@ Partial Class Ventas
End If End If
ElseIf UsuarioActual.Empresa.TipoFacturacion = "CBB" Then ElseIf UsuarioActual.Empresa.TipoFacturacion = "CBB" Then
GeneraPDFCBB(ObjFactura.Fecha, Nothing, ObjFactura.SerieFolio, False) GeneraPDFCBB(ObjFactura.FechaCP, Nothing, ObjFactura.SerieFolio, False)
End If End If
End If End If
@@ -13499,6 +13499,8 @@ Partial Class Ventas
Return False Return False
End If End If
'SI NO TIENE LA FUNCIONALIDAD VALIDARA LAS MONEDAS
If Not UsuarioActual.Empresa.Funcionalidad(524) <> "" Then
If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count >= 1 Then If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count >= 1 Then
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0) Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0)
If DrPS IsNot Nothing Then If DrPS IsNot Nothing Then
@@ -13508,8 +13510,10 @@ Partial Class Ventas
End If End If
End If End If
End If End If
End If
If Not UsuarioActual.TienePermisoProceso(169) Then ' NO VALIDA EXISTENCIAS NI COSTO - PERMISO PARA NO VALIDAR ' NO VALIDA EXISTENCIAS NI COSTO - PERMISO PARA NO VALIDAR
If Not UsuarioActual.TienePermisoProceso(169) Then
'SOLO VALIDA EXISTENCIAS Y COSTO: SI USA INVENTARIOS, SOLO PRODUCTOS TIPO PRODUCTO, SOLO REMISIONES E INGRESOS 'SOLO VALIDA EXISTENCIAS Y COSTO: SI USA INVENTARIOS, SOLO PRODUCTOS TIPO PRODUCTO, SOLO REMISIONES E INGRESOS
If UsuarioActual.Empresa.UsaInventarios AndAlso CveTipoPS = 2 AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "PA") Or (DdlTipoComprobante.SelectedValue.Contiene("Cot") And UsuarioActual.CveEmpresa.Contiene(119))) Then If UsuarioActual.Empresa.UsaInventarios AndAlso CveTipoPS = 2 AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "PA") Or (DdlTipoComprobante.SelectedValue.Contiene("Cot") And UsuarioActual.CveEmpresa.Contiene(119))) Then
Dim ObjInventarios As New ClsInventarios Dim ObjInventarios As New ClsInventarios
@@ -15463,7 +15467,7 @@ Partial Class Ventas
Cuerpo = Cuerpo.Replace("{""Fecha""}", TxtFecha.Text) Cuerpo = Cuerpo.Replace("{""Fecha""}", TxtFecha.Text)
Cuerpo = Cuerpo.Replace("{""Total""}", TxtTotal.Text) Cuerpo = Cuerpo.Replace("{""Total""}", TxtTotal.Text)
Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", TxtFechaPago.Text) Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", TxtFechaPago.Text)
Cuerpo = Cuerpo.Replace("{""SerieFolio""}", $"{LblSerie.Text} - {TxtFolio.Text}") Cuerpo = Cuerpo.Replace("{""SerieFolio""}", ObjFactura.SerieFolio)
End If End If
If UsuarioActual.Empresa.AsuntoPlantillaMailVenta.Trim.Length > 0 Then If UsuarioActual.Empresa.AsuntoPlantillaMailVenta.Trim.Length > 0 Then
@@ -18411,7 +18415,7 @@ Partial Class Ventas
strBody.AppendFormat(" <div id=""C_divOC"" style=""width: 630px""> <fieldset> <legend><b>Datos de {0}</b></legend> ", DdlTipoComprobante.SelectedItem.Text) strBody.AppendFormat(" <div id=""C_divOC"" style=""width: 630px""> <fieldset> <legend><b>Datos de {0}</b></legend> ", DdlTipoComprobante.SelectedItem.Text)
strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""> ") strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""> ")
strBody.Append(" <tr style=""height: 22px""> ") strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 90px""> Serie-Folio:</td><td style=""width: 125px""><b>{0}-{1}</b></td> ", LblSerie.Text, TxtFolio.Text) strBody.AppendFormat(" <td style=""width: 90px""> Serie-Folio:</td><td style=""width: 125px""><b>{0}</b></td> ", ObjFactura.SerieFolio)
strBody.Append(" </tr> ") strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ") strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 90px""> Empresa:</td><td colspan=""3""><b>{0}</b></td> ", UsuarioActual.Empresa.Empresa) strBody.AppendFormat(" <td style=""width: 90px""> Empresa:</td><td colspan=""3""><b>{0}</b></td> ", UsuarioActual.Empresa.Empresa)