- paqueterias

This commit is contained in:
rrene
2020-06-14 19:59:59 -07:00
11 changed files with 558 additions and 380 deletions

View File

@@ -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, 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", 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 Dim Retorno As Boolean = False
@@ -2746,6 +2747,7 @@ Public Class ClsGenerales
.Add("@FechaIngFin", SqlDbType.VarChar).Value = FechaIngFin .Add("@FechaIngFin", SqlDbType.VarChar).Value = FechaIngFin
.Add("@Filtro", SqlDbType.Int).Value = Filtro .Add("@Filtro", SqlDbType.Int).Value = Filtro
.Add("@CveUsuarioEntrega", SqlDbType.Int).Value = CveUsuarioEntrega .Add("@CveUsuarioEntrega", SqlDbType.Int).Value = CveUsuarioEntrega
.Add("@EsEntregaInterna", SqlDbType.Bit).Value = EsEntregaInterna
End With End With
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)
@@ -2835,7 +2837,7 @@ Public Class ClsGenerales
DataAdapter("PA_Gral_AsignarEntregasPorRealizar") DataAdapter("PA_Gral_AsignarEntregasPorRealizar")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia .Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CvePersonal
End With End With
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)

View File

@@ -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 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 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 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 Dim Retorno As Boolean = False
DataAdapter("PA_VentasAdd") DataAdapter("PA_VentasAdd")
@@ -431,6 +431,7 @@ Public Class ClsVentas
.Add("@EsAmortizacion", SqlDbType.Bit).Value = EsAmortizacion .Add("@EsAmortizacion", SqlDbType.Bit).Value = EsAmortizacion
.Add("@CveTipoRetencion", SqlDbType.TinyInt).Value = CveTipoRetencion .Add("@CveTipoRetencion", SqlDbType.TinyInt).Value = CveTipoRetencion
.Add("@CorreoNotificacion", SqlDbType.VarChar).Value = CorreoNotificacion .Add("@CorreoNotificacion", SqlDbType.VarChar).Value = CorreoNotificacion
.Add("@FormaPaqueteria", SqlDbType.Int).Value = FormaPaqueteria
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue .Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
End With End With

View File

@@ -400,6 +400,8 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
else else
{ {
ObjGeneral.Commit(); ObjGeneral.Commit();
string notificacionCorreos = getCorreoString();
MandaCorreoNotificacionGuia(notificacionCorreos);
if (Guia == "-1") if (Guia == "-1")
{ {
if (CveVenta > 0 || CveOC > 0 || CveMovimiento > 0 || CveCompra > 0) 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}"; Destinatario = $"{DbRowVenta["Mail"].ToString()};{DbRowVenta["CorreoVendedorVenta"].ToString()}{CorreoAsistente}";
if (ObjVentas.GetVentaDetalle(CveVenta)) if (ObjVentas.GetVentaDetalle(CveVenta))
{ {
DTMovimientos = ObjVentas.DtResultados; 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 #endregion
} }

View File

@@ -170,7 +170,12 @@
<label class="col-md-1" style="width: 90px; margin-top: 5px;">Usuario:</label> <label class="col-md-1" style="width: 90px; margin-top: 5px;">Usuario:</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlUsuarios" DataTextField="Nombre" DataValueField="CveUsuario" runat="server" Width="100%" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me"/> <asp:DropDownList ID="DdlUsuarios" DataTextField="Nombre" DataValueField="CveUsuario" runat="server" Width="100%" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me" />
</div>
<div runat="server" id="DivEstatusEntrega" visible="false">
<div class="col-md-2">
<label>Entregas Directas</label>&nbsp;&nbsp;&nbsp;<asp:CheckBox ID="ChkLote" data-size="small" runat="server"/>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -185,13 +190,13 @@
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" /> <input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a> <a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div> </div>
<asp:GridView ID="GVDatos" runat="server" DataKeyNames="CvePaqueteriaGuia, CveSubProyecto, SubProyecto, CveAgrupador, TipoAgrupador, Folio, CvePaqueteria, Paqueteria, Liga, CveEstatus, Estatus, Rastreo, Guia, NumCajas, Peso, Dimensiones, Fecha, FechaEstimada, CveUsuario, CveEmpresa, FechaIng, Observaciones, ImplicaCosto, CvePaqueteriaGuiaTipo" <asp:GridView ID="GVDatos" runat="server" DataKeyNames="CvePaqueteriaGuia, CveSubProyecto, SubProyecto, CveAgrupador, TipoAgrupador, Folio, CvePaqueteria, Paqueteria, Liga, CveEstatus, Estatus, Rastreo, Guia, NumCajas, Peso, Dimensiones, Fecha, FechaEstimada, CveUsuario, CveEmpresa, FechaIng, Observaciones, ImplicaCosto, CvePaqueteriaGuiaTipo,EsEntregaInterna"
AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros con los filtros especificados" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" GridLines="None" AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros con los filtros especificados" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" GridLines="None"
EmptyDataRowStyle-HorizontalAlign="Center" OnRowDataBound="GVDatos_RowDataBound"> EmptyDataRowStyle-HorizontalAlign="Center" OnRowDataBound="GVDatos_RowDataBound">
<Columns> <Columns>
<asp:BoundField DataField="SubProyecto" HeaderText="Sucursal" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" /> <asp:BoundField DataField="SubProyecto" HeaderText="Sucursal" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="PaqueteriaGuiaTipo" HeaderText="Guía Tipo" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Left" /> <asp:BoundField DataField="PaqueteriaGuiaTipo" HeaderText="Guía Tipo" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Folio" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="7%"> <asp:TemplateField HeaderText="Folio" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="4%">
<ItemTemplate> <ItemTemplate>
<asp:HyperLink runat="server" ID="HLFolio" Text='<%# Eval("Folio")%>' ToolTip='<%# "Ir a " + Eval("TipoAgrupador")%>' Target="_blank" /> <asp:HyperLink runat="server" ID="HLFolio" Text='<%# Eval("Folio")%>' ToolTip='<%# "Ir a " + Eval("TipoAgrupador")%>' Target="_blank" />
</ItemTemplate> </ItemTemplate>
@@ -207,11 +212,12 @@
<asp:BoundField DataField="FechaEstimada" HeaderText="Fecha Est." ItemStyle-Width="4%" DataFormatString="{0:dd/MM/yyyy}" ItemStyle-HorizontalAlign="Center" /> <asp:BoundField DataField="FechaEstimada" HeaderText="Fecha Est." ItemStyle-Width="4%" DataFormatString="{0:dd/MM/yyyy}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="FechaIng" HeaderText="Fecha Ing" ItemStyle-Width="4%" DataFormatString="{0:dd/MM/yyyy}" ItemStyle-HorizontalAlign="Center" /> <asp:BoundField DataField="FechaIng" HeaderText="Fecha Ing" ItemStyle-Width="4%" DataFormatString="{0:dd/MM/yyyy}" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" HeaderText="Editar/Liga/Subir"> <asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar/Liga/Subir/Reasignar">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="imgEditar" runat="server" OnClick="imgEditar_Click" AlternateText="Editar" ToolTip="Actualizar" CommandArgument='<%# Eval("CvePaqueteriaGuia")%>' CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" /> <asp:LinkButton ID="imgEditar" runat="server" OnClick="imgEditar_Click" AlternateText="Editar" ToolTip="Actualizar" CommandArgument='<%# Eval("CvePaqueteriaGuia")%>' CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:HyperLink ID="BtnLiga" runat="server" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-external-link' aria-hidden='true'></i>" ToolTip="Ir a Paquetería" Target="_blank"></asp:HyperLink> <asp:HyperLink ID="BtnLiga" runat="server" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-external-link' aria-hidden='true'></i>" ToolTip="Ir a Paquetería" Target="_blank"></asp:HyperLink>
<asp:LinkButton ID="SubirArchivo" runat="server" OnClick="SubirArchivo_Click" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Subir Documento' class='fa fa-upload' title='Subir Documento' ></i>" /> <asp:LinkButton ID="SubirArchivo" runat="server" OnClick="SubirArchivo_Click" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Subir Documento' class='fa fa-upload' title='Subir Documento' ></i>" />
<asp:LinkButton ID="LnkReasignar" runat="server" OnClick="Reasignar_Click" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" Text="<i title='Reasignar' class='fa fa-user' title='Reasignar' ></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si"/>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>

View File

@@ -229,6 +229,11 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
DdlEstatusEditar.Items.Insert(3, new ListItem("Entregado ", "3")); DdlEstatusEditar.Items.Insert(3, new ListItem("Entregado ", "3"));
DdlEstatusEditar.Items.Insert(4, new ListItem("Confirmado por Cliente", "4")); DdlEstatusEditar.Items.Insert(4, new ListItem("Confirmado por Cliente", "4"));
DdlEstatusEditar.SelectedValue = "-1"; DdlEstatusEditar.SelectedValue = "-1";
if(UsuarioActual.Empresa.Funcionalidad(280) == "1"){
DivEstatusEntrega.Visible = true;
}
} }
private void CargaUsuarios() private void CargaUsuarios()
@@ -270,7 +275,8 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
String FechaIngInicio = TxtFechaInicialIngreso.Text == "" ? "-1" : TxtFechaInicialIngreso.Text; String FechaIngInicio = TxtFechaInicialIngreso.Text == "" ? "-1" : TxtFechaInicialIngreso.Text;
String FechaIngFin = TxtFechaFinalIngreso.Text == "" ? "-1" : TxtFechaFinalIngreso.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; DTDatos = ObjGeneral.DtResultados;
GVDatos.DataSource = DTDatos; GVDatos.DataSource = DTDatos;
@@ -532,7 +538,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
{ {
e.Row.FCLinkButton("SubirArchivo").Visible = false; 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 #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 <a style='color:#23527c' href='/Inventarios/EntregasPorRealizar.aspx'>Entregas Por Realizar</a>");
}
ObjGeneral.Dispose();
CargaDatos();
UPDatos.Update();
}
} }

View File

@@ -244,10 +244,11 @@
<td colspan="2"> <td colspan="2">
<asp:Panel ID="PnlEntrega" runat="server" Visible="false"> <asp:Panel ID="PnlEntrega" runat="server" Visible="false">
<asp:RadioButton id="RbSinEntrega" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="25%" GroupName="EntregaRadioGroup" Text="Sin Entrega" AutoPostBack="true"></asp:RadioButton> <asp:RadioButton id="RbSinEntrega" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="25%" GroupName="EntregaRadioGroup" Text="Entrega en mostrador" AutoPostBack="true"></asp:RadioButton>
<asp:RadioButton id="RbEntregaInterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="25%" GroupName="EntregaRadioGroup" Text="Entrega Interna" AutoPostBack="true"></asp:RadioButton> <asp:RadioButton id="RbEntregaInterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="25%" GroupName="EntregaRadioGroup" Text="Entrega Interna" AutoPostBack="true"></asp:RadioButton>
<asp:RadioButton id="RbEntregaExterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="25%" GroupName="EntregaRadioGroup" Text="Entrega Externa" AutoPostBack="true"></asp:RadioButton> <asp:RadioButton id="RbEntregaExterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="25%" GroupName="EntregaRadioGroup" Text="Entrega Externa" AutoPostBack="true"></asp:RadioButton>
</asp:Panel> </asp:Panel>
<asp:LinkButton ID="LnkPaqueteriaDetalle" runat="server" OnClick="PaqueteriaDetalle_Click" Visible="false">ver detalle de entrega</asp:LinkButton>
</td> </td>
</tr> </tr>

View File

@@ -322,7 +322,6 @@ Partial Class Inventarios_EntregaAlmacen
CreaDtDetalleLote() CreaDtDetalleLote()
CargaPendientes() CargaPendientes()
LimpiaCampos() LimpiaCampos()
End Sub End Sub
@@ -614,6 +613,21 @@ Partial Class Inventarios_EntregaAlmacen
DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double)) DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double))
End If 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) 'TxtFecha.Text = If(EsDevolucionVenta = 1, Now.ToShortDateString, DtDatos.Rows(0)("Fecha").ToString)
End If End If
@@ -2410,253 +2424,296 @@ Partial Class Inventarios_EntregaAlmacen
ErrorMovInv = True ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de entrada") TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de entrada")
End If 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 End If
ErrorMovInv = Not GenerarPrePoliza(ObjInventario, ObjVentas, ObjConta, CveMovimiento, TextoError)
End If End If
End If
'DEVOLUCION APARTADOS
End If If Not ErrorMovInv Then
If TipoMovimiento = 2 Then
If ObjInventario.VentasAlmacenApartadosGet(CveVentaSurtir) Then
'DEVOLUCION APARTADOS
If Not ErrorMovInv Then Dim DtTempApartados = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 9", "CveAlmacen")
If TipoMovimiento = 2 Then Dim CveMovimientoSalidaApartado = -1
If ObjInventario.VentasAlmacenApartadosGet(CveVentaSurtir) Then Dim CveAlmacenApartado = -1
Dim CveAlmacenOrigen = If(CveAlmacenTraspasoDestino > 0, CveAlmacenTraspasoDestino, DdlAlmacen.SelectedValue.ToEntero)
Dim DtTempApartados = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 9", "CveAlmacen")
Dim CveMovimientoSalidaApartado = -1 For Each Dr As DataRow In DtTempApartados.Rows
Dim CveAlmacenApartado = -1
Dim CveAlmacenOrigen = If(CveAlmacenTraspasoDestino > 0, CveAlmacenTraspasoDestino, DdlAlmacen.SelectedValue.ToEntero) 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,
For Each Dr As DataRow In DtTempApartados.Rows Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
CveAlmacenDestino:=Dr("CveAlmacen").ToString.ToEntero, Modulo:="RE/G9")
If CveMovimientoSalidaApartado = -1 Or CveAlmacenApartado <> Dr("CveAlmacen").ToString.ToEntero Then FolioSalida = ObjInventario.Folio
CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveAlmacenApartado = Dr("CveAlmacen").ToString.ToEntero
Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
CveAlmacenDestino:=Dr("CveAlmacen").ToString.ToEntero, Modulo:="RE/G9") Dim DrMovto = DtTraspasos.NewRow
FolioSalida = ObjInventario.Folio DrMovto("Almacen") = Dr("Almacen").ToString.ToEntero
CveAlmacenApartado = Dr("CveAlmacen").ToString.ToEntero DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString.ToEntero
DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
Dim DrMovto = DtTraspasos.NewRow DrMovto("FolioSalida") = FolioSalida
DrMovto("Almacen") = Dr("Almacen").ToString.ToEntero DtTraspasos.Rows.Add(DrMovto)
DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString.ToEntero End If
DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
DrMovto("FolioSalida") = FolioSalida If Not CveMovimientoSalidaApartado > 0 Then
DtTraspasos.Rows.Add(DrMovto) ErrorMovInv = True
End If TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
Exit For
If Not CveMovimientoSalidaApartado > 0 Then End If
ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados") 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
Exit For ErrorMovInv = True
End If TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
Exit For
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 End If
ErrorMovInv = True Next
TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
Exit For If Not ErrorMovInv Then
End If For Each Dr1 As DataRow In DtTraspasos.Rows
Next CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString.ToEntero
If Not ErrorMovInv Then CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString.ToEntero, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
For Each Dr1 As DataRow In DtTraspasos.Rows -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero,
CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString.ToEntero CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor,
CveCliente:=CveCliente, Modulo:="RE/G10")
CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString.ToEntero, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioEntrada = ObjInventario.Folio
-1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero,
CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, If Not CveMovimientoEntradaApartado > 0 Then
CveCliente:=CveCliente, Modulo:="RE/G10") ErrorMovInv = True
FolioEntrada = ObjInventario.Folio TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.")
Exit For
If Not CveMovimientoEntradaApartado > 0 Then End If
ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.") Dr1("CveMovimientoEntrada") = CveMovimientoEntradaApartado
Exit For 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: <a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a>", 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 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: <a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a>", 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 Catch ex As Exception
ErrorMovInv = True ErrorMovInv = True
OnError("Ocurrió un error al guardar", ex) 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) Protected Sub EntregaRadioGroup_Click(sender As Object, e As EventArgs)
If RbEntregaExterna.Checked Then If RbEntregaExterna.Checked Then
RegistraScript("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx',800,547,'N')") RegistraScript("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx',800,547,'N')")
LnkPaqueteriaDetalle.Visible = False
ElseIf RbEntregaInterna.Checked Then ElseIf RbEntregaInterna.Checked Then
RegistraScript("$('#ModalPaqueteriaInterna').modal('show')") LnkPaqueteriaDetalle.Visible = True
'RegistraScript($"AbrirVentana('/General/PopUpPaqueteriasGuiasInternas.aspx?CveVenta={CveVentaSurtir}&CveSubProyecto={CveSubProyecto}',800,547,'N')") 'RegistraScript("$('#ModalPaqueteriaInterna').modal('show')")
'CveVentaSurtir
ElseIf RbSinEntrega.Checked Then ElseIf RbSinEntrega.Checked Then
LimpiaCampos() LimpiaCampos()
LnkPaqueteriaDetalle.Visible = False
End If End If
End Sub End Sub

View File

@@ -70,7 +70,7 @@
</div> </div>
<div class="portlet-body rowpadding"> <div class="portlet-body rowpadding">
<asp:GridView ID="GvPaqueteriasGuias" runat="server" AutoGenerateColumns="False" <asp:GridView ID="GvPaqueteriasGuias" runat="server" AutoGenerateColumns="False"
DataKeyNames="CvePaqueteriaGuia,Folio,FechaIng,Nombre,Contacto,Estatus" DataKeyNames="CvePaqueteriaGuia,Folio,FechaIng,Nombre,Contacto,Estatus,CobranzaCorreo,CorreoEntregaAlmacen,CorreoEntregaCompras,Correo,CorreoAdicionalNotificaciones"
EmptyDataText="No se encontraron registros" ToolTip="Listado de Temas" EmptyDataText="No se encontraron registros" ToolTip="Listado de Temas"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" CssClass="table table-striped table-advance table-hover Widthall ScrollAD"
data-sort="true" data-sort="true"

View File

@@ -40,15 +40,30 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
ObjGeneral.IniciaTransacSQL(); ObjGeneral.IniciaTransacSQL();
GridViewRowCollection Grid = GvPaqueteriasGuias.Rows; GridViewRowCollection Grid = GvPaqueteriasGuias.Rows;
int CvePersonal = DdlUsuario.SelectedValue.ToEntero();
foreach (GridViewRow row in Grid) foreach (GridViewRow row in Grid)
{ {
if (row.FCCheckBox("ChkAsigna").Checked) if (row.FCCheckBox("ChkAsigna").Checked)
{ {
int CvePaqueteriasGuias = row.DataKey("CvePaqueteriaGuia").ToEntero(); int CvePaqueteriasGuias = row.DataKey("CvePaqueteriaGuia").ToEntero();
int CvePersonal = DdlUsuario.SelectedValue.ToEntero();
if(!ObjGeneral.AsignarEntregasPorRealizar(CvePaqueteriasGuias, CvePersonal)){ if(!ObjGeneral.AsignarEntregasPorRealizar(CvePaqueteriasGuias, CvePersonal)){
TieneError = true; TieneError = true;
}else
{
string CobranzaCorreo = row.DataKey("CobranzaCorreo");
string CorreoEntregaAlmacen = row.DataKey("CorreoEntregaAlmacen");
string CorreoEntregaCompras = row.DataKey("CorreoEntregaCompras");
string CorreoVendedor = row.DataKey("Correo");
string CorreoAdicionalNotificacionesVendedor = row.DataKey("CorreoAdicionalNotificaciones");
string CorreosCC = string.Format("{0};{1};{2};{3}", CorreoVendedor, CorreoAdicionalNotificacionesVendedor, CobranzaCorreo, CorreoEntregaCompras);
string LogCorreo = string.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoEntregaAlmacen, CorreosCC);
LogCorreo.GuardaLog();
ClsSisMail MailCls = new ClsSisMail();
MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, CorreoVendedor, "Se enviara la compra a su dirección", "Pendiente", CorreosCC);
MailCls = null;
} }
} }
} }

View File

@@ -10,8 +10,7 @@
padding: 0px 5px; padding: 0px 5px;
} }
.nolineheight TxtNombreCliente .nolineheight TxtNombreCliente line-height: 1;
line-height: 1;
} }
.claseesconder { .claseesconder {
@@ -1599,7 +1598,8 @@
<div class="portlet box purpleAlmacen" id="DivSalidaAlmacen" runat="server"> <div class="portlet box purpleAlmacen" id="DivSalidaAlmacen" runat="server">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption"> <div class="caption">
<i class="fa fa-dropbox"></i><asp:Literal ID="LltSalidaAlmacen" runat="server" Text="Salida Almacen"></asp:Literal> <i class="fa fa-dropbox"></i>
<asp:Literal ID="LltSalidaAlmacen" runat="server" Text="Salida Almacen"></asp:Literal>
</div> </div>
<div class="tools"> <div class="tools">
<a href="javascript:;" class="collapse"></a> <a href="javascript:;" class="collapse"></a>
@@ -3259,7 +3259,7 @@
<tr align="left"> <tr align="left">
<td> <td>
<asp:TextBox ID="TxtObsFact" runat="server" Rows="3" TextMode="MultiLine" Width="250px" MaxLength="800" CssClass="form-control input-sm"></asp:TextBox></td> <asp:TextBox ID="TxtObsFact" runat="server" Rows="3" TextMode="MultiLine" Width="250px" MaxLength="800" CssClass="form-control input-sm"></asp:TextBox></td>
</tr> </tr>
<tr id="TrOC" runat="server"> <tr id="TrOC" runat="server">
<td>Orden de Compra: &nbsp; <td>Orden de Compra: &nbsp;
<asp:TextBox ID="TxtOrdenCompra" runat="server" Width="100%" CssClass="form-control" CausesValidation="true"></asp:TextBox> <asp:TextBox ID="TxtOrdenCompra" runat="server" Width="100%" CssClass="form-control" CausesValidation="true"></asp:TextBox>
@@ -3294,6 +3294,18 @@
<td> <td>
<asp:TextBox ID="TxtCorreoNotificaciones" runat="server" Width="100%" CssClass="form-control"></asp:TextBox></td> <asp:TextBox ID="TxtCorreoNotificaciones" runat="server" Width="100%" CssClass="form-control"></asp:TextBox></td>
</tr> </tr>
<tr align="left" id="trPaqueteriOpcionesLabel" runat="server" visible="false">
<td id="Td2" runat="server">Tipo de Entrega:&nbsp;</td>
</tr>
<tr align="left" id="trPaqueteriaOpciones" runat="server" visible="false">
<td colspan="2">
<asp:RadioButtonList runat="server" ID="RblPaqueteria">
<asp:ListItem Value="1" Text="Entrega En Mostrador" />
<asp:ListItem Value="2" Text="Entrega Interna" />
<asp:ListItem Value="3" Text="Entrega Externa" />
</asp:RadioButtonList>
</td>
</tr>
</table> </table>
</div> </div>
</ContentTemplate> </ContentTemplate>
@@ -3371,7 +3383,7 @@
<asp:Button ID="BtnEditarRemision" runat="server" Text="Actualizar Remision" CssClass="btn myventasbutton btn-primary" Visible="false" /> <asp:Button ID="BtnEditarRemision" runat="server" Text="Actualizar Remision" CssClass="btn myventasbutton btn-primary" Visible="false" />
<asp:Button ID="BtnPermisoEditarRemision" runat="server" Text="Editar Remision" CssClass="btn myventasbutton btn-primary" Visible="false" /> <asp:Button ID="BtnPermisoEditarRemision" runat="server" Text="Editar Remision" CssClass="btn myventasbutton btn-primary" Visible="false" />
<asp:Button ID="BtnMandaMail" runat="server" Text="MandaMail" CssClass="btn myventasbutton btn-primary" Visible="false" /> <asp:Button ID="BtnMandaMail" runat="server" Text="MandaMail" CssClass="btn myventasbutton btn-primary" Visible="false" />
<asp:Button ID="BtnCrearApartirDe" runat="server" Text="Crear a partir de" CssClass="btn myventasbutton btn-primary" Visible="false" /> <asp:Button ID="BtnCrearApartirDe" runat="server" Text="Crear a partir de" CssClass="btn myventasbutton btn-primary" Visible="false" />
@@ -3574,7 +3586,7 @@
<ItemTemplate> <ItemTemplate>
<asp:Literal ID="LtlAnticipos" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp; <asp:Literal ID="LtlAnticipos" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField Visible="false"> <asp:TemplateField Visible="false">
<HeaderTemplate>Moneda Venta</HeaderTemplate> <HeaderTemplate>Moneda Venta</HeaderTemplate>
<ItemTemplate> <ItemTemplate>
@@ -4141,8 +4153,8 @@
<asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal> <asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal>
<UserControl:TareaNueva runat="server" id="TareaNueva" /> <UserControl:TareaNueva runat="server" id="TareaNueva" />
<script> function OnAddedTareaNueva() { <script> function OnAddedTareaNueva() {
$('.btnupEventoBitacora').click(); $('.btnupEventoBitacora').click();
} }
</script> </script>
</div> </div>
@@ -7071,9 +7083,9 @@
$get(Row).style.backgroundColor = "#82b6db"; $get(Row).style.backgroundColor = "#82b6db";
$get(Obj).focus(); $get(Obj).focus();
var total = parseFloat($('#<%= HplSaldoAuxiliar.ClientID%>').text().replace(',', '')); var total = parseFloat($('#<%= HplSaldoAuxiliar.ClientID%>').text().replace(',', ''));
$get(Obj).value = 0; $get(Obj).value = 0;
var suma = 0; var suma = 0;
$('#<%= GVAnticipos.ClientID%> input[type="text"]').each(function (index) { $('#<%= GVAnticipos.ClientID%> input[type="text"]').each(function (index) {
var currentsaldo = parseFloat($(this).val()) var currentsaldo = parseFloat($(this).val())
if (isNaN(currentsaldo)) { currentsaldo = 0 } if (isNaN(currentsaldo)) { currentsaldo = 0 }
suma = currentsaldo + suma; suma = currentsaldo + suma;
@@ -7089,7 +7101,7 @@
$get(Obj).value = ""; $get(Obj).value = "";
$get(Row).style.backgroundColor = "#ffffff"; $get(Row).style.backgroundColor = "#ffffff";
} }
//if ($("input:checkbox:not(:checked)")) //if ($("input:checkbox:not(:checked)"))
SetText2($get("LblTotalAnticipos"), formato_numero($get("HdnAnticipos").value, 2, '.', ',')); SetText2($get("LblTotalAnticipos"), formato_numero($get("HdnAnticipos").value, 2, '.', ','));
} }
function imprimircotizacion() { function imprimircotizacion() {
@@ -7103,121 +7115,121 @@
var ValorTxt = Obj.value; var ValorTxt = Obj.value;
var suma = 0; var suma = 0;
var total = parseFloat($('#<%= HplSaldoAuxiliar.ClientID%>').text().replace(',', '')); var total = parseFloat($('#<%= HplSaldoAuxiliar.ClientID%>').text().replace(',', ''));
$('#<%= GVAnticipos.ClientID%> input[type="text"]').each(function (index) { $('#<%= GVAnticipos.ClientID%> input[type="text"]').each(function (index) {
var currentsaldo = parseFloat($(this).val()) var currentsaldo = parseFloat($(this).val())
if (isNaN(currentsaldo)) { currentsaldo = 0 } if (isNaN(currentsaldo)) { currentsaldo = 0 }
suma = currentsaldo + suma; suma = currentsaldo + suma;
}); });
var txtvalue = (total - suma) + parseFloat(ValorTxt); var txtvalue = (total - suma) + parseFloat(ValorTxt);
if (txtvalue < 0) { txtvalue = 0; } if (txtvalue < 0) { txtvalue = 0; }
if (txtvalue < Monto) { Monto = txtvalue.toFixed(2); } if (txtvalue < Monto) { Monto = txtvalue.toFixed(2); }
if (isNaN(ValorTxt)) if (isNaN(ValorTxt))
ValorTxt = 0; ValorTxt = 0;
if (isNaN(Monto)) if (isNaN(Monto))
Monto = 0; Monto = 0;
if (parseFloat(ValorTxt) < 0) { if (parseFloat(ValorTxt) < 0) {
ValorTxt = 0; ValorTxt = 0;
Obj.value = 0; Obj.value = 0;
} }
if (parseFloat(ValorTxt) > parseFloat(Monto)) { if (parseFloat(ValorTxt) > parseFloat(Monto)) {
alert("El monto de ''Anticipo a Amortizar'' no puede ser mayor al monto del ''Anticipo''"); alert("El monto de ''Anticipo a Amortizar'' no puede ser mayor al monto del ''Anticipo''");
Obj.value = Monto; Obj.value = Monto;
} }
} }
function ImprimirCotizacion() { function ImprimirCotizacion() {
__doPostBack('ctl00$HB$LNKImprimirCotizacion', ''); __doPostBack('ctl00$HB$LNKImprimirCotizacion', '');
} }
function SetText2(ObjTo, Value) { function SetText2(ObjTo, Value) {
ObjTo.innerText = Value; ObjTo.innerText = Value;
} }
//VALIDA QUE LA CANTIDAD DE T (TXT) NO SEA MAYOR A C //VALIDA QUE LA CANTIDAD DE T (TXT) NO SEA MAYOR A C
function ValidarCantidad(t, c) { function ValidarCantidad(t, c) {
t.value = (t.value > c ? c : t.value) t.value = (t.value > c ? c : t.value)
} }
//VALIDA QUE LA CANTIDAD DE T (TXT) NO SEA MENOR A C //VALIDA QUE LA CANTIDAD DE T (TXT) NO SEA MENOR A C
function ValidarCantidadMenor(t, c) { function ValidarCantidadMenor(t, c) {
t.value = (t.value > c ? t.value : c) t.value = (t.value > c ? t.value : c)
} }
function Comma(Num) { //function to add commas to textboxes function Comma(Num) { //function to add commas to textboxes
Num += ''; Num += '';
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
x = Num.split('.'); x = Num.split('.');
x1 = x[0]; x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : ''; x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/; var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) while (rgx.test(x1))
x1 = x1.replace(rgx, '$1' + ',' + '$2'); x1 = x1.replace(rgx, '$1' + ',' + '$2');
return x1 + x2; return x1 + x2;
} }
function AddCodigoBarrasSerie(e) { function AddCodigoBarrasSerie(e) {
if (e.keyCode == 13 || e.which == 13) { if (e.keyCode == 13 || e.which == 13) {
$('#BtnCodigoBarrasSerie').click(); $('#BtnCodigoBarrasSerie').click();
} }
} }
//SERIE PS //SERIE PS
function SeriePS(e, b, txt, hdn) { function SeriePS(e, b, txt, hdn) {
; ;
if (e.keyCode == 13 || e.which == 13) { if (e.keyCode == 13 || e.which == 13) {
if (txt.value != "" && txt.value != hdn.value) { if (txt.value != "" && txt.value != hdn.value) {
$(b).click(); $(b).click();
} }
} }
} }
function SeriePSBlur(b, txt, hdn) { function SeriePSBlur(b, txt, hdn) {
; ;
if (txt.value != "" && txt.value != hdn.value) { if (txt.value != "" && txt.value != hdn.value) {
$(b).click(); $(b).click();
} }
} }
//SERIE-LOTE INV //SERIE-LOTE INV
var H1 = ""; var H1 = "";
var H2 = ""; var H2 = "";
var T = ""; var T = "";
function EnterAFEdit(event, Txt, Hdn1, Hdn2) { function EnterAFEdit(event, Txt, Hdn1, Hdn2) {
if (event.which == 13 || event.keyCode == 13) { if (event.which == 13 || event.keyCode == 13) {
H1 = Hdn1; H1 = Hdn1;
H2 = Hdn2; H2 = Hdn2;
T = Txt; T = Txt;
$get("HdnCodAFEdit").value = Txt.value; $get("HdnCodAFEdit").value = Txt.value;
$('#BtnVinculaAFEdit').click(); $('#BtnVinculaAFEdit').click();
} }
} }
function AFBlurEdit(Txt, Hdn1, Hdn2) { function AFBlurEdit(Txt, Hdn1, Hdn2) {
if (Txt.value.length > 0 && Txt.value != Hdn2.value) { if (Txt.value.length > 0 && Txt.value != Hdn2.value) {
H1 = Hdn1; H1 = Hdn1;
H2 = Hdn2; H2 = Hdn2;
T = Txt; T = Txt;
$get("HdnCodAFEdit").value = Txt.value; $get("HdnCodAFEdit").value = Txt.value;
$('#BtnVinculaAFEdit').click(); $('#BtnVinculaAFEdit').click();
} }
} }
function EnterAFEditOK(Cve, Codigo) { function EnterAFEditOK(Cve, Codigo) {
$get(H1.id).value = Cve; $get(H1.id).value = Cve;
$get(H2.id).value = Codigo; $get(H2.id).value = Codigo;
$get(T.id).value = (Codigo == -1) ? "" : Codigo; $get(T.id).value = (Codigo == -1) ? "" : Codigo;
} }
//Suma Totales //Suma Totales
function FnSuma() { function FnSuma() {
$get('TxtSubTotal2').value = FormatoNumero(ToDouble($get('TxtSubTotal').value) - ToDouble($get('LblDescuentos').innerHTML) - ToDouble($get('LblAmortizacion').innerHTML), 2); $get('TxtSubTotal2').value = FormatoNumero(ToDouble($get('TxtSubTotal').value) - ToDouble($get('LblDescuentos').innerHTML) - ToDouble($get('LblAmortizacion').innerHTML), 2);
var totalVenta = ToDouble($get('TxtSubTotal2').value) + ToDouble($get('TxtIVA').value) + ToDouble($get('TxtIEPS') ? ToDouble($get('TxtIEPS').value) : 0) - ToDouble($get('TxtRetIVA').value) - ToDouble($get('TxtRetISR').value); var totalVenta = ToDouble($get('TxtSubTotal2').value) + ToDouble($get('TxtIVA').value) + ToDouble($get('TxtIEPS') ? ToDouble($get('TxtIEPS').value) : 0) - ToDouble($get('TxtRetIVA').value) - ToDouble($get('TxtRetISR').value);
debugger; debugger;
$("#<%=GvImpuestosLocales2.ClientID%> input[type='text']").each(function () { $("#<%=GvImpuestosLocales2.ClientID%> input[type='text']").each(function () {
if ($(this).attr("class") == '5') // cuando es traslado de impuesto local, se suma if ($(this).attr("class") == '5') // cuando es traslado de impuesto local, se suma
totalVenta += ToDouble($(this).val().toString()); totalVenta += ToDouble($(this).val().toString());
@@ -7239,7 +7251,7 @@
$get("HdnTipoDescuento").value = "3"; $get("HdnTipoDescuento").value = "3";
//si es con.nc,es.el.total //si es con.nc,es.el.total
var Total = ToDouble($get(TipoAnticipo == 2? 'TxtTotal':'TxtSubTotal').value); var Total = ToDouble($get(TipoAnticipo == 2 ? 'TxtTotal' : 'TxtSubTotal').value);
var SaldoCompra = parseFloat(parseFloat($get('HdnVentaSaldo').value).toFixed(2)); var SaldoCompra = parseFloat(parseFloat($get('HdnVentaSaldo').value).toFixed(2));
if (ToDouble($get('HdnCveVenta').value) == 0) SaldoCompra = Total; if (ToDouble($get('HdnCveVenta').value) == 0) SaldoCompra = Total;

View File

@@ -1206,6 +1206,15 @@ Partial Class Ventas
ViewState("SaldoAnticipo") = value ViewState("SaldoAnticipo") = value
End Set End Set
End Property End Property
Private Property CorreoEntregaAlmacen As String
Get
Return If(IsNothing(ViewState("CorreoEntregaAlmacen")), "", ViewState("CorreoEntregaAlmacen").ToString())
End Get
Set(value As String)
ViewState("CorreoEntregaAlmacen") = value
End Set
End Property
#End Region #End Region
@@ -2634,6 +2643,7 @@ Partial Class Ventas
If UsuarioActual.CveEmpresa = 141 Then If UsuarioActual.CveEmpresa = 141 Then
BtnModalAddPS.Enabled = False BtnModalAddPS.Enabled = False
End If End If
MostrarOpcioensPaqueteria()
End Sub End Sub
Private Sub BloqueaClasificaciones() Private Sub BloqueaClasificaciones()
If UsuarioActual.CveEmpresa = 141 AndAlso DdlTipoComprobante.SelectedValue = "Cot" Then If UsuarioActual.CveEmpresa = 141 AndAlso DdlTipoComprobante.SelectedValue = "Cot" Then
@@ -4847,6 +4857,7 @@ Partial Class Ventas
ViewState("Mail") = If(DdlTipoComprobante.SelectedValue = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail) ViewState("Mail") = If(DdlTipoComprobante.SelectedValue = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail)
ViewState("MailCC") = ObjCliente.NotificarA ViewState("MailCC") = ObjCliente.NotificarA
CorreoEntregaAlmacen = ObjCliente.DtResultados(0)("CorreoEntregaAlmacen").ToString
LblDireccion.Text = ObjCliente.Direccion LblDireccion.Text = ObjCliente.Direccion
LblColonia.Text = ObjCliente.Colonia LblColonia.Text = ObjCliente.Colonia
LblCiudad.Text = ObjCliente.Ciudad LblCiudad.Text = ObjCliente.Ciudad
@@ -5157,8 +5168,8 @@ Partial Class Ventas
CargarAlmacenes() CargarAlmacenes()
If UsuarioActual.Empresa.FacturaProduccion Then If UsuarioActual.Empresa.FacturaProduccion Then
CargaDocumentacionCliente()
End If End If
CargaDocumentacionCliente()
If UsuarioActual.CveEmpresa.Contiene(72, 80, 1, 119) Then If UsuarioActual.CveEmpresa.Contiene(72, 80, 1, 119) Then
BtnEmitirImprimir.OnClientClick = $"ValidaGuardar({ If(ImprimeNombreSucursal = True, 1, 0)});" BtnEmitirImprimir.OnClientClick = $"ValidaGuardar({ If(ImprimeNombreSucursal = True, 1, 0)});"
@@ -7470,7 +7481,7 @@ Partial Class Ventas
ObjContr.Dispose() ObjContr.Dispose()
ObjDocCliente.Dispose() ObjDocCliente.Dispose()
'ObjFolios.Dispose() 'ObjFolios.Dispose()
ErrorList.Clear ErrorList.Clear()
ErrorList = Nothing ErrorList = Nothing
MensajeAlert = Nothing MensajeAlert = Nothing
If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
@@ -9502,7 +9513,7 @@ Partial Class Ventas
CveVentaRelacion:=(If(factura.CveVentaRelacion.ToEntero() > 0, factura.CveVentaRelacion, -1)), ImporteRelacion:=(If(factura.ImporteRelacion <> Nothing, factura.ImporteRelacion, -1)), CveVentaRelacion:=(If(factura.CveVentaRelacion.ToEntero() > 0, factura.CveVentaRelacion, -1)), ImporteRelacion:=(If(factura.ImporteRelacion <> Nothing, factura.ImporteRelacion, -1)),
CveTipoAmortizacionAnticipo:=factura.CveTipoAmortizacionAnticipo, CveEmpresaCRM:=CveEmpresaCRM, EsInterno:=EsInterno, CveAcercamientoCRM:=CveAcercamientoCRM, CveTipoAmortizacionAnticipo:=factura.CveTipoAmortizacionAnticipo, CveEmpresaCRM:=CveEmpresaCRM, EsInterno:=EsInterno, CveAcercamientoCRM:=CveAcercamientoCRM,
DiasCredito:=factura.DiasCredito, EsDiasCreditoFijo:=factura.EsDiasCreditoFijo, AnticipoEspecial:=If(TrAntEspecial.Visible, ChkAntEspecial.Checked, False), DiasCredito:=factura.DiasCredito, EsDiasCreditoFijo:=factura.EsDiasCreditoFijo, AnticipoEspecial:=If(TrAntEspecial.Visible, ChkAntEspecial.Checked, False),
Kilometraje:=TxtKilometraje.Text.ToDouble, EsAmortizacion:=EsNCAmortizacion, CveTipoRetencion:=CveTipoRetencion, CorreoNotificacion:=TxtCorreoNotificaciones.Text) Then Kilometraje:=TxtKilometraje.Text.ToDouble, EsAmortizacion:=EsNCAmortizacion, CveTipoRetencion:=CveTipoRetencion, CorreoNotificacion:=TxtCorreoNotificaciones.Text, FormaPaqueteria:=RblPaqueteria.SelectedValue.ToEntero) Then
ErrorList.Add("Ocurrió un error al Generar la Venta.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico") ErrorList.Add("Ocurrió un error al Generar la Venta.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
Else Else
If factura.TipoDocto.Contiene("Dev", "Egs") Or DtVentasNC IsNot Nothing Or CveEstatusRefacturacion = 1 Then If factura.TipoDocto.Contiene("Dev", "Egs") Or DtVentasNC IsNot Nothing Or CveEstatusRefacturacion = 1 Then
@@ -9523,6 +9534,10 @@ Partial Class Ventas
End If End If
End If End If
If UsuarioActual.Empresa.Funcionalidad(280) = "1" And RblPaqueteria.SelectedValue = "1" Then
NotificarPaqueteria()
End If
End If End If
If Not GuardarUsados(ObjVentas.IniciaTransacSQL, ObjVentas.CveVenta) Then If Not GuardarUsados(ObjVentas.IniciaTransacSQL, ObjVentas.CveVenta) Then
@@ -14055,7 +14070,7 @@ Partial Class Ventas
TrVistaPrevia.Visible = EstatusCliente TrVistaPrevia.Visible = EstatusCliente
End If End If
MostrarOpcioensPaqueteria()
TrAtencionA.Visible = True TrAtencionA.Visible = True
tdVigencia.Visible = DdlTipoComprobante.SelectedValue.Contiene("Cot") tdVigencia.Visible = DdlTipoComprobante.SelectedValue.Contiene("Cot")
@@ -14066,6 +14081,7 @@ Partial Class Ventas
UPCondicionesPago.Update() UPCondicionesPago.Update()
UpCliente.Update() UpCliente.Update()
UpPS.Update() UpPS.Update()
UPObservaciones.Update()
End Sub End Sub
Protected Sub DdlSucursalCliente_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSucursalCliente.SelectedIndexChanged Protected Sub DdlSucursalCliente_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSucursalCliente.SelectedIndexChanged
CargaClienteSucursal(DdlSucursalCliente.SelectedValue.ToEntero()) CargaClienteSucursal(DdlSucursalCliente.SelectedValue.ToEntero())
@@ -25660,6 +25676,27 @@ Partial Class Ventas
CargaEventoBitacora() CargaEventoBitacora()
End Sub End Sub
Private Sub MostrarOpcioensPaqueteria()
Dim mostrarOpcionesPaq As Boolean = DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ped")
trPaqueteriaOpciones.Visible = mostrarOpcionesPaq
trPaqueteriOpcionesLabel.Visible = mostrarOpcionesPaq
End Sub
Private Sub NotificarPaqueteria()
Dim DtVendedores As DataTable = GlobalDTVendedores(UsuarioActual.CveEmpresa)
Dim CorreoVendedor As String = DtVendedores.FiltroPrimeroValor("Correo", String.Format("CveVendedor = {0}", DdlVendedor.SelectedValue))
Dim CorreoVendedorAdicional As String = DtVendedores.FiltroPrimeroValor("CorreoAdicionalNotificaciones", String.Format("CveVendedor = {0}", DdlVendedor.SelectedValue))
Dim CorreoCliente As String = Mail
Dim CorreoClienteAlmacen As String = CorreoEntregaAlmacen
Dim CorreoNotificacionCliente As String = MailCC
Dim CorreosCC As String = String.Format("{0};{1};{2};{3}", CorreoVendedor, CorreoVendedorAdicional, CorreoCliente, CorreoNotificacionCliente)
Dim LogCorreo As String = String.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoClienteAlmacen, CorreosCC)
LogCorreo.GuardaLog
Dim MailCls As New ClsSisMail
MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, CorreoVendedor, "Entrega en mostrador", "Pendiente", CorreosCC)
MailCls = Nothing
End Sub
End Class End Class