diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb
index 15c86b2c2..f2506fff7 100644
--- a/App_Code/ClsGenerales.vb
+++ b/App_Code/ClsGenerales.vb
@@ -2726,7 +2726,8 @@ Public Class ClsGenerales
Public Function GetPaqueteriasGuias(CvePaqueteriaGuia As Integer, CvePaqueteriaGuiaTipo As Integer, CvePaqueteria As Integer, CveEstatus As Integer, CveSubProyecto As Integer,
CveEmpresa As Integer, Guia As String, FechaInicio As String, FechaFin As String, Optional FechaIngInicio As String = "-1",
- Optional FechaIngFin As String = "-1", Optional Filtro As Integer = -1, Optional CveUsuarioEntrega As Integer = -1) As Boolean
+ Optional FechaIngFin As String = "-1", Optional Filtro As Integer = -1, Optional CveUsuarioEntrega As Integer = -1,
+ Optional EsEntregaInterna As Boolean = False) As Boolean
Dim Retorno As Boolean = False
@@ -2746,6 +2747,7 @@ Public Class ClsGenerales
.Add("@FechaIngFin", SqlDbType.VarChar).Value = FechaIngFin
.Add("@Filtro", SqlDbType.Int).Value = Filtro
.Add("@CveUsuarioEntrega", SqlDbType.Int).Value = CveUsuarioEntrega
+ .Add("@EsEntregaInterna", SqlDbType.Bit).Value = EsEntregaInterna
End With
Try
SqlAdapter.Fill(Data)
@@ -2835,7 +2837,7 @@ Public Class ClsGenerales
DataAdapter("PA_Gral_AsignarEntregasPorRealizar")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CvePersonal
End With
Try
SqlAdapter.Fill(Data)
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index f78d1e3bf..e9f7496a6 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -341,7 +341,7 @@ Public Class ClsVentas
Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1, Optional CveUsoCFDI As Integer = -1, Optional OrdenCompra As String = "-1", Optional CveCuentaTerminal As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ImpuestoLocal As Double = 0,
Optional CveTipoAmortizacionAnticipo As Integer = -1, Optional CveVentaRelacion As Integer = -1, Optional ImporteRelacion As Decimal = -1, Optional CveEmpresaCRM As Integer = -1, Optional EsInterno As Integer = -1, Optional CveAcercamientoCRM As Integer = -1,
Optional DiasCredito As Integer = 0, Optional EsDiasCreditoFijo As Boolean = False, Optional AnticipoEspecial As Boolean = False, Optional Kilometraje As Double = 0, Optional EsAmortizacion As Boolean = False, Optional CveTipoRetencion As Integer = 0,
- Optional CorreoNotificacion As String = "") As Boolean
+ Optional CorreoNotificacion As String = "", Optional FormaPaqueteria As Integer = 1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_VentasAdd")
@@ -431,6 +431,7 @@ Public Class ClsVentas
.Add("@EsAmortizacion", SqlDbType.Bit).Value = EsAmortizacion
.Add("@CveTipoRetencion", SqlDbType.TinyInt).Value = CveTipoRetencion
.Add("@CorreoNotificacion", SqlDbType.VarChar).Value = CorreoNotificacion
+ .Add("@FormaPaqueteria", SqlDbType.Int).Value = FormaPaqueteria
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
End With
diff --git a/General/PopUpPaqueteriasGuias.aspx.cs b/General/PopUpPaqueteriasGuias.aspx.cs
index 91306f8d4..0ecbbe8ee 100644
--- a/General/PopUpPaqueteriasGuias.aspx.cs
+++ b/General/PopUpPaqueteriasGuias.aspx.cs
@@ -400,6 +400,8 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
else
{
ObjGeneral.Commit();
+ string notificacionCorreos = getCorreoString();
+ MandaCorreoNotificacionGuia(notificacionCorreos);
if (Guia == "-1")
{
if (CveVenta > 0 || CveOC > 0 || CveMovimiento > 0 || CveCompra > 0)
@@ -718,7 +720,6 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
}
Destinatario = $"{DbRowVenta["Mail"].ToString()};{DbRowVenta["CorreoVendedorVenta"].ToString()}{CorreoAsistente}";
-
if (ObjVentas.GetVentaDetalle(CveVenta))
{
DTMovimientos = ObjVentas.DtResultados;
@@ -727,6 +728,32 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
}
}
}
+
+ private string getCorreoString()
+ {
+ ClsVentas ObjVentas = new ClsVentas();
+ if (ObjVentas.GetVenta(CveVenta,UsuarioActual.CveEmpresa))
+ {
+ int CveVendedor = ObjVentas.DtResultados.Rows[0]["CveVendedor"].ToEntero();
+ int CveCliente = ObjVentas.DtResultados.Rows[0]["CveCliente"].ToEntero();
+ DataRow Vendedor = get_GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveVendedor = {0}",CveVendedor));
+ DataRow Cliente = get_GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveCliente = {0}",CveCliente));
+
+ string CorreosConcat = "{0};{1};{2};{3};{4}";
+ return CorreosConcat;
+ }
+ ObjVentas.Dispose();
+ return "";
+ }
+
+ private void MandaCorreoNotificacionGuia(string Correos)
+ {
+ Correos.GuardaLog();
+
+ ClsSisMail MailCls = new ClsSisMail();
+ MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, "Se enviara la compra a su dirección", "Pendiente", Correos);
+ MailCls = null;
+ }
#endregion
}
\ No newline at end of file
diff --git a/General/RepPaqueteriasGuias.aspx b/General/RepPaqueteriasGuias.aspx
index b13c27470..637293558 100644
--- a/General/RepPaqueteriasGuias.aspx
+++ b/General/RepPaqueteriasGuias.aspx
@@ -170,7 +170,12 @@
-
+
+
+
+
+
+
@@ -185,13 +190,13 @@
" style="display: inline-block; margin-right: -20px; width: 150px;" />
" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
-
-
+
@@ -207,11 +212,12 @@
-
+
+
diff --git a/General/RepPaqueteriasGuias.aspx.cs b/General/RepPaqueteriasGuias.aspx.cs
index 75a951155..7793d8e44 100644
--- a/General/RepPaqueteriasGuias.aspx.cs
+++ b/General/RepPaqueteriasGuias.aspx.cs
@@ -229,6 +229,11 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
DdlEstatusEditar.Items.Insert(3, new ListItem("Entregado ", "3"));
DdlEstatusEditar.Items.Insert(4, new ListItem("Confirmado por Cliente", "4"));
DdlEstatusEditar.SelectedValue = "-1";
+
+ if(UsuarioActual.Empresa.Funcionalidad(280) == "1"){
+ DivEstatusEntrega.Visible = true;
+ }
+
}
private void CargaUsuarios()
@@ -270,7 +275,8 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
String FechaIngInicio = TxtFechaInicialIngreso.Text == "" ? "-1" : TxtFechaInicialIngreso.Text;
String FechaIngFin = TxtFechaFinalIngreso.Text == "" ? "-1" : TxtFechaFinalIngreso.Text;
- if (ObjGeneral.GetPaqueteriasGuias(CvePaqueteriaGuia, CvePaqueteriaGuiaTipo, CvePaqueteria, CveEstatus, CveSubProyecto, CveEmpresa, Guia, FechaInicio, FechaFin, FechaIngInicio, FechaIngFin, Filtro: Filtro, CveUsuarioEntrega: CveUsuarioEntrega))
+ if (ObjGeneral.GetPaqueteriasGuias(CvePaqueteriaGuia, CvePaqueteriaGuiaTipo, CvePaqueteria, CveEstatus, CveSubProyecto, CveEmpresa, Guia, FechaInicio, FechaFin,
+ FechaIngInicio, FechaIngFin, Filtro: Filtro, CveUsuarioEntrega: CveUsuarioEntrega, EsEntregaInterna: ChkLote.Checked))
{
DTDatos = ObjGeneral.DtResultados;
GVDatos.DataSource = DTDatos;
@@ -532,7 +538,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
{
e.Row.FCLinkButton("SubirArchivo").Visible = false;
}
-
+ e.Row.FCLinkButton("LnkReasignar").Visible = e.Row.DataKey("EsEntregaInterna").ToString() == "True";
}
}
@@ -953,6 +959,19 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
}
#endregion
+ protected void Reasignar_Click(object sender, EventArgs e)
+ {
+ GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
+ int CvePaqueteriaGuia = GvRow.DataKey("CvePaqueteriaGuia").ToEntero();
+
+ ClsGenerales ObjGeneral = new ClsGenerales();
+ if (ObjGeneral.AsignarEntregasPorRealizar(CvePaqueteriaGuia, -1))
+ {
+ Alert("La guía está lista para volver a ser asignada, disponible en el reporte Entregas Por Realizar");
+ }
+ ObjGeneral.Dispose();
+ CargaDatos();
+ UPDatos.Update();
+ }
-
}
\ No newline at end of file
diff --git a/Inventarios/EntregaAlmacen.aspx b/Inventarios/EntregaAlmacen.aspx
index f4078c025..f175f0d5d 100644
--- a/Inventarios/EntregaAlmacen.aspx
+++ b/Inventarios/EntregaAlmacen.aspx
@@ -244,10 +244,11 @@
-
+
+ ver detalle de entrega
diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb
index 5577ba36b..4b587a27a 100644
--- a/Inventarios/EntregaAlmacen.aspx.vb
+++ b/Inventarios/EntregaAlmacen.aspx.vb
@@ -322,7 +322,6 @@ Partial Class Inventarios_EntregaAlmacen
CreaDtDetalleLote()
CargaPendientes()
-
LimpiaCampos()
End Sub
@@ -614,6 +613,21 @@ Partial Class Inventarios_EntregaAlmacen
DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double))
End If
+ If UsuarioActual.Empresa.Funcionalidad(280) = "1" Then
+ FormaPaqueteria = DtDatos.Rows(0)("FormaPaqueteria").ToString.ToEntero
+ Dim FormaPaq As Integer = FormaPaqueteria
+ Select Case FormaPaq
+ Case 1
+ RbSinEntrega.Checked = True
+ Case 2
+ RbEntregaInterna.Checked = True
+ LnkPaqueteriaDetalle.Visible = True
+ DdlEstatus.SelectedValue = "5"
+ Case 3
+ RbEntregaExterna.Checked = True
+ LnkPaqueteriaDetalle.Visible = True
+ End Select
+ End If
'TxtFecha.Text = If(EsDevolucionVenta = 1, Now.ToShortDateString, DtDatos.Rows(0)("Fecha").ToString)
End If
@@ -2410,253 +2424,296 @@ Partial Class Inventarios_EntregaAlmacen
ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de entrada")
End If
- End If
+ End If
+
+ Else 'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN - SALIDA ALMACEN
+ Dim DtCostos As DataTable = Nothing
+ Dim ValorInventario As Decimal = 0
+ If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ DtCostos = ObjInventario.DtResultados
+
+ Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
+ Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ Dim IdCtaContable As Integer = 0
+ Dim CveCuenta As Integer = 0
+ If tmpCostos.Rows.Count > 0 Then
+
+
+ If ObjVentas.GetVenta(CveVentaSurtir, UsuarioActual.CveEmpresa) Then
+ Dim Fecha As Date = TxtFecha.Text.ToDate ' If(TipoMovimiento <> 1, TxtFecha.Text.ToDate, ObjVentas.DtResultados(0)("Fecha").ToString.ToDate)
+ Dim CveCliente As Integer = ObjVentas.DtResultados(0)("CveCliente").ToString.ToEntero
+ Dim ClienteNombre As String = ObjVentas.DtResultados(0)("ClienteNombre").ToString
+ Dim Serie As String = ObjVentas.DtResultados(0)("Serie").ToString
+ Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL()
+ Dim TotalCostoAcumulado As Decimal = 0
+ Dim cont As Integer = 1
+
+ Dim ValorMultiplicador = 1
+
+ If TipoMovimiento = 1 Then
+ ValorMultiplicador = 1
+ ElseIf TipoMovimiento = 2 Then
+ ValorMultiplicador = -1
+ ElseIf TipoMovimiento = 2 AndAlso TipoDocto.Contiene({"Dev"}) And (EsDevolucionVenta = 1) Then
+ ValorMultiplicador = 1
+ End If
+
+ Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ 'Se agrega movimiento separado por la cuenta de ventas (ER)
+
+ If CvePrePoliza > 0 Then
+
+ For Each RowInv As DataRow In tmpCostos.Rows
+ ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL()
+ TotalCostoAcumulado += ValorInventario
+
+ 'cuando es el último movimiento y hay diferencias en los importes
+ If cont = DtCostos.FiltraParametros("", "", {"CveClasificacion"}).Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
+ ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
+ End If
- Else 'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN - SALIDA ALMACEN
- ErrorMovInv = Not GenerarPrePoliza(ObjInventario, ObjVentas, ObjConta, CveMovimiento, TextoError)
- End If
-
- End If
-
- End If
-
-
- 'DEVOLUCION APARTADOS
- If Not ErrorMovInv Then
- If TipoMovimiento = 2 Then
- If ObjInventario.VentasAlmacenApartadosGet(CveVentaSurtir) Then
-
- Dim DtTempApartados = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 9", "CveAlmacen")
- Dim CveMovimientoSalidaApartado = -1
- Dim CveAlmacenApartado = -1
- Dim CveAlmacenOrigen = If(CveAlmacenTraspasoDestino > 0, CveAlmacenTraspasoDestino, DdlAlmacen.SelectedValue.ToEntero)
-
- For Each Dr As DataRow In DtTempApartados.Rows
-
- If CveMovimientoSalidaApartado = -1 Or CveAlmacenApartado <> Dr("CveAlmacen").ToString.ToEntero Then
- CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
- Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
- CveAlmacenDestino:=Dr("CveAlmacen").ToString.ToEntero, Modulo:="RE/G9")
- FolioSalida = ObjInventario.Folio
- CveAlmacenApartado = Dr("CveAlmacen").ToString.ToEntero
-
- Dim DrMovto = DtTraspasos.NewRow
- DrMovto("Almacen") = Dr("Almacen").ToString.ToEntero
- DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString.ToEntero
- DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
- DrMovto("FolioSalida") = FolioSalida
- DtTraspasos.Rows.Add(DrMovto)
- End If
-
- If Not CveMovimientoSalidaApartado > 0 Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
- Exit For
- End If
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
- Exit For
- End If
- Next
-
- If Not ErrorMovInv Then
- For Each Dr1 As DataRow In DtTraspasos.Rows
- CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString.ToEntero
-
- CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString.ToEntero, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
- -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero,
- CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor,
- CveCliente:=CveCliente, Modulo:="RE/G10")
- FolioEntrada = ObjInventario.Folio
-
- If Not CveMovimientoEntradaApartado > 0 Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.")
- Exit For
+ End If
+
+ End If
+
+
+ 'DEVOLUCION APARTADOS
+ If Not ErrorMovInv Then
+ If TipoMovimiento = 2 Then
+ If ObjInventario.VentasAlmacenApartadosGet(CveVentaSurtir) Then
+
+ Dim DtTempApartados = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 9", "CveAlmacen")
+ Dim CveMovimientoSalidaApartado = -1
+ Dim CveAlmacenApartado = -1
+ Dim CveAlmacenOrigen = If(CveAlmacenTraspasoDestino > 0, CveAlmacenTraspasoDestino, DdlAlmacen.SelectedValue.ToEntero)
+
+ For Each Dr As DataRow In DtTempApartados.Rows
+
+ If CveMovimientoSalidaApartado = -1 Or CveAlmacenApartado <> Dr("CveAlmacen").ToString.ToEntero Then
+ CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
+ Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
+ CveAlmacenDestino:=Dr("CveAlmacen").ToString.ToEntero, Modulo:="RE/G9")
+ FolioSalida = ObjInventario.Folio
+ CveAlmacenApartado = Dr("CveAlmacen").ToString.ToEntero
+
+ Dim DrMovto = DtTraspasos.NewRow
+ DrMovto("Almacen") = Dr("Almacen").ToString.ToEntero
+ DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString.ToEntero
+ DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
+ DrMovto("FolioSalida") = FolioSalida
+ DtTraspasos.Rows.Add(DrMovto)
+ End If
+
+ If Not CveMovimientoSalidaApartado > 0 Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
+ Exit For
+ End If
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
+ Exit For
+ End If
+ Next
+
+ If Not ErrorMovInv Then
+ For Each Dr1 As DataRow In DtTraspasos.Rows
+ CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString.ToEntero
+
+ CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString.ToEntero, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
+ -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero,
+ CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor,
+ CveCliente:=CveCliente, Modulo:="RE/G10")
+ FolioEntrada = ObjInventario.Folio
+
+ If Not CveMovimientoEntradaApartado > 0 Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.")
+ Exit For
+ End If
+
+ Dr1("CveMovimientoEntrada") = CveMovimientoEntradaApartado
+ Dr1("FolioEntrada") = FolioEntrada
+
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+ For Each Dr As DataRow In ObjInventario.DtResultados.Rows
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
+ Exit For
+ End If
+ Next
+ End If
+
+ If ErrorMovInv Then Exit For
+
+ Next
+ End If
+
+ End If
+ End If
+ End If
+
+ 'QUEMAR REMISIONES
+ If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then
+ Dim DtDevRem As New DataTable
+
+ 'CARGA REMISIONES DE LA VENTA DEVUELTA
+ If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then
+ DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen = 0")
+ Else
+ ErrorMovInv = True
+ End If
+
+ If Not ErrorMovInv Then
+ If DtDevRem.Rows.Count > 0 Then
+ For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem"}).Rows
+ If Not ObjInventario.ActualizarEsDevolucionVenta(DrMovtos("CveRem").ToString.ToEntero, 2) Then
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolución hacia la remision. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ End If
+ Else
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ End If
+
+ End If
+
+ 'QUEMA DEVOLUCION | QUEMA = LA QUITA DE PENDIENTE POR RECIBIR (DEVOLVER)
+ If Not ErrorMovInv And EsDevolucionVenta = 1 Then
+ If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveVentaSurtir) Then
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolución. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ End If
+ End If
+
+ If Not ErrorMovInv And EsDevolucionVenta = 0 Then
+ If Not ObjVentas.UpdateVentasDevolucionAlmacen(0, CveVentaSurtir) Then
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolucion. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ End If
+ End If
+
+ ' COMIENZA: VIRTUAL
+ If Not ErrorMovInv AndAlso TipoDocto.Contiene("Ing", "Dev") AndAlso UsuarioActual.Empresa.Funcionalidad(573) = "1" AndAlso CveMovimiento > 0 Then
+ Dim DtPSVirtual As New DataTable("DtTamanios")
+
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ DtPSVirtual = ObjInventario.DtResultados
+ End If
+
+ '
+ 'DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
+ 'DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
+ 'DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
+ 'DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+
+ 'Dim DtTamanios As DataTable = Nothing
+
+ 'If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
+ ' DtTamanios = ObjAcumuladores.DtResultados.Copy()
+ 'End If
+
+ Dim CveConceptoMovimientoVirtual As Integer = -1
+ Dim CveAlmacenVirtual As Integer = -1
+ Dim CveMovimientoRelacionadoVirtual As Integer = CveMovimiento
+ Dim ValidaVirtual As Boolean = False
+ CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+
+ If TipoMovimiento = 1 Then
+ CveConceptoMovimientoVirtual = 37
+
+ ElseIf TipoMovimiento = 2 Then
+ ValidaVirtual = True
+ CveConceptoMovimientoVirtual = 36
+ End If
+
+ If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 AndAlso CveConceptoMovimientoVirtual > 0 Then
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
+ Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual, Modulo:="RE/G6")
+ FolioVirtual = ObjInventario.Folio
+
+ If CveMovimientoVirtual > 0 Then
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
+ Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
+ Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("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
+
+ Else
+ If ValidaVirtual Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar el movimiento en almacen virtual. Por favor vuelva a intentar.")
+
+ End If
+ End If
+
+ If DtPSVirtual.Rows.Count = 0 AndAlso ValidaVirtual = True Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("No se tienen productos para el almacen virtual.")
+ End If
+ End If
+
+ ' TERMINA: VIRTUAL
+
+
+ 'AGREGA BITACORA A VENTA
+ If Not ErrorMovInv Then
+ Dim MensajeBitacora = If(TipoMovimiento = 1, "Surtida", "Devuelta")
+ If Not ObjEventos.AddEventoBitacora(String.Format("Venta {2} en Folio: {1}", CveMovimiento, Folio, MensajeBitacora), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVentaSurtir) Then
+ ErrorMovInv = True
+ End If
+ End If
+
+ 'Paqueterias guias
+ If RbEntregaInterna.Checked AndAlso Not ErrorMovInv Then
+ Dim CveEstatus As Integer = DdlEstatus.SelectedValue.ToEntero()
+ Dim Fecha As String = TxtFechaPaqInterna.Text
+ Dim FechaEstimada As String = If(TxtFechaEstimada.Text = "", "-1", TxtFechaEstimada.Text)
+ Dim NoCajas As Integer = TxtNoCajas.Text.ToEntero()
+ Dim Observaciones As String = TxtObservacionesPaqInterna.Text
+ Dim CvePaqueteria As Integer = GlobalDTPaqueterias().FiltroPrimeroValor("CvePaqueteria", String.Format("CveEmpresa={0} AND TipoPaqueteria = 0", UsuarioActual.CveEmpresa)).ToEntero
+
+ If CveSubProyecto > 0 Then
+ Dim CvePaqueteriaGuia As Integer = ObjGeneral.AddPaqueteriasGuias(CvePaqueteria, 9, CveEstatus, CveSubProyecto, Fecha, "", "", NoCajas, 0.00, "-1", FechaEstimada, Observaciones, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, EsEntregaInterna:=True)
+
+ If CvePaqueteriaGuia > 0 Then
+
+ If CveVentaSurtir > 0 OrElse CveSubProyecto > 0 Then
+ If ObjGeneral.AddPaqueteriasGuiasDetalles(CvePaqueteriaGuia, CveVentaSurtir, -1, CveMovimiento, -1) Then
+ ''manda correo
+ MandaCorreoEntrega(CveVentaSurtir)
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+ If ErrorMovInv Then
+ Alert("Error en el paqueteria guia detalle", TipoMensaje.MsgError)
+ End If
+ Else
+ ErrorMovInv = True
+ Alert("Error en el paqueteria guia", TipoMensaje.MsgError)
+ End If
+ Else
+ Alert("Hace falta indicar un Sub Proyecto", TipoMensaje.MsgAdvertencia)
+ ErrorMovInv = True
+ End If
End If
-
- Dr1("CveMovimientoEntrada") = CveMovimientoEntradaApartado
- Dr1("FolioEntrada") = FolioEntrada
-
- If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
- Exit For
- End If
- Next
- End If
-
- If ErrorMovInv Then Exit For
-
- Next
- End If
-
- End If
- End If
- End If
-
- 'QUEMAR REMISIONES
- If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then
- Dim DtDevRem As New DataTable
-
- 'CARGA REMISIONES DE LA VENTA DEVUELTA
- If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then
- DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen = 0")
- Else
- ErrorMovInv = True
- End If
-
- If Not ErrorMovInv Then
- If DtDevRem.Rows.Count > 0 Then
- For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem"}).Rows
- If Not ObjInventario.ActualizarEsDevolucionVenta(DrMovtos("CveRem").ToString.ToEntero, 2) Then
- TextoError.AppendFormat("Ocurrió un error al hacer la devolución hacia la remision. Por favor vuelva a intentar.")
- ErrorMovInv = True
- Exit For
- End If
- Next
- End If
- Else
- TextoError.AppendFormat("Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar.")
- ErrorMovInv = True
- End If
-
- End If
-
- 'QUEMA DEVOLUCION | QUEMA = LA QUITA DE PENDIENTE POR RECIBIR (DEVOLVER)
- If Not ErrorMovInv And EsDevolucionVenta = 1 Then
- If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveVentaSurtir) Then
- TextoError.AppendFormat("Ocurrió un error al hacer la devolución. Por favor vuelva a intentar.")
- ErrorMovInv = True
- End If
- End If
-
- If Not ErrorMovInv And EsDevolucionVenta = 0 Then
- If Not ObjVentas.UpdateVentasDevolucionAlmacen(0, CveVentaSurtir) Then
- TextoError.AppendFormat("Ocurrió un error al hacer la devolucion. Por favor vuelva a intentar.")
- ErrorMovInv = True
- End If
- End If
-
- ' COMIENZA: VIRTUAL
- If Not ErrorMovInv AndAlso TipoDocto.Contiene("Ing", "Dev") AndAlso UsuarioActual.Empresa.Funcionalidad(573) = "1" AndAlso CveMovimiento > 0 Then
- Dim DtPSVirtual As New DataTable("DtTamanios")
-
- If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
- DtPSVirtual = ObjInventario.DtResultados
- End If
-
- '
- 'DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
- 'DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
- 'DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
- 'DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
-
- 'Dim DtTamanios As DataTable = Nothing
-
- 'If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
- ' DtTamanios = ObjAcumuladores.DtResultados.Copy()
- 'End If
-
- Dim CveConceptoMovimientoVirtual As Integer = -1
- Dim CveAlmacenVirtual As Integer = -1
- Dim CveMovimientoRelacionadoVirtual As Integer = CveMovimiento
- Dim ValidaVirtual As Boolean = False
- CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
-
- If TipoMovimiento = 1 Then
- CveConceptoMovimientoVirtual = 37
-
- ElseIf TipoMovimiento = 2 Then
- ValidaVirtual = True
- CveConceptoMovimientoVirtual = 36
- End If
-
- If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 AndAlso CveConceptoMovimientoVirtual > 0 Then
- CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
- Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual, Modulo:="RE/G6")
- FolioVirtual = ObjInventario.Folio
-
- If CveMovimientoVirtual > 0 Then
- For Each RowUsado As DataRow In DtPSVirtual.Rows
- Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
- Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
- Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU) Then
- ErrorMovInv = True
- TextoError.AppendFormat("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
-
- Else
- If ValidaVirtual Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar el movimiento en almacen virtual. Por favor vuelva a intentar.")
-
- End If
- End If
-
- If DtPSVirtual.Rows.Count = 0 AndAlso ValidaVirtual = True Then
- ErrorMovInv = True
- TextoError.AppendFormat("No se tienen productos para el almacen virtual.")
- End If
- End If
-
- ' TERMINA: VIRTUAL
-
-
- 'AGREGA BITACORA A VENTA
- If Not ErrorMovInv Then
- Dim MensajeBitacora = If(TipoMovimiento = 1, "Surtida", "Devuelta")
- If Not ObjEventos.AddEventoBitacora(String.Format("Venta {2} en Folio: {1}", CveMovimiento, Folio, MensajeBitacora), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVentaSurtir) Then
- ErrorMovInv = True
- End If
- End If
-
- 'Paqueterias guias
- If RbEntregaInterna.Checked AndAlso Not ErrorMovInv Then
- Dim CveEstatus As Integer = DdlEstatus.SelectedValue.ToEntero()
- Dim Fecha As String = TxtFechaPaqInterna.Text
- Dim FechaEstimada As String = If(TxtFechaEstimada.Text = "", "-1", TxtFechaEstimada.Text)
- Dim NoCajas As Integer = TxtNoCajas.Text.ToEntero()
- Dim Observaciones As String = TxtObservacionesPaqInterna.Text
- Dim CvePaqueteria As Integer = GlobalDTPaqueterias().FiltroPrimeroValor("CvePaqueteria", String.Format("CveEmpresa={0} AND TipoPaqueteria = 0", UsuarioActual.CveEmpresa)).ToEntero
-
- If CveSubProyecto > 0 Then
- Dim CvePaqueteriaGuia As Integer = ObjGeneral.AddPaqueteriasGuias(CvePaqueteria, 9, CveEstatus, CveSubProyecto, Fecha, "", "", NoCajas, 0.00, "-1", FechaEstimada, Observaciones, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, EsEntregaInterna:=True)
-
- If CvePaqueteriaGuia > 0 Then
-
- If CveVentaSurtir > 0 OrElse CveSubProyecto > 0 Then
- If ObjGeneral.AddPaqueteriasGuiasDetalles(CvePaqueteriaGuia, CveVentaSurtir, -1, CveMovimiento, -1) Then
- ''manda correo
- MandaCorreoEntrega(CveVentaSurtir)
- Else
- ErrorMovInv = True
- End If
- End If
- If ErrorMovInv Then
- Alert("Error en el paqueteria guia detalle", TipoMensaje.MsgError)
- End If
- Else
- ErrorMovInv = True
- Alert("Error en el paqueteria guia", TipoMensaje.MsgError)
- End If
- Else
- Alert("Hace falta indicar un Sub Proyecto", TipoMensaje.MsgAdvertencia)
- ErrorMovInv = True
- End If
- End If
Catch ex As Exception
ErrorMovInv = True
OnError("Ocurrió un error al guardar", ex)
@@ -3614,12 +3671,13 @@ Partial Class Inventarios_EntregaAlmacen
Protected Sub EntregaRadioGroup_Click(sender As Object, e As EventArgs)
If RbEntregaExterna.Checked Then
RegistraScript("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx',800,547,'N')")
+ LnkPaqueteriaDetalle.Visible = False
ElseIf RbEntregaInterna.Checked Then
- RegistraScript("$('#ModalPaqueteriaInterna').modal('show')")
- 'RegistraScript($"AbrirVentana('/General/PopUpPaqueteriasGuiasInternas.aspx?CveVenta={CveVentaSurtir}&CveSubProyecto={CveSubProyecto}',800,547,'N')")
- 'CveVentaSurtir
+ LnkPaqueteriaDetalle.Visible = True
+ 'RegistraScript("$('#ModalPaqueteriaInterna').modal('show')")
ElseIf RbSinEntrega.Checked Then
LimpiaCampos()
+ LnkPaqueteriaDetalle.Visible = False
End If
End Sub
diff --git a/Inventarios/EntregasPorRealizar.aspx b/Inventarios/EntregasPorRealizar.aspx
index 7dbb9bc60..7c71eac19 100644
--- a/Inventarios/EntregasPorRealizar.aspx
+++ b/Inventarios/EntregasPorRealizar.aspx
@@ -70,7 +70,7 @@