Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -928,7 +928,7 @@ Public Class ClsAcumuladores
|
||||
#End Region
|
||||
|
||||
Public Function DistribuidorMovtosAdd(CveCliente As Integer, Cantidad As Decimal, CveTamaño As Integer, CveConcepto As Integer, CveVenta As Integer, CveUsuario As Integer,
|
||||
CveEmpresa As Integer, ImporteCompras As Decimal, Observaciones As String, Optional CveMovimiento As Integer = -1) As Boolean
|
||||
CveEmpresa As Integer, ImporteCompras As Decimal, Observaciones As String, FechaIng As DateTime, Optional CveMovimiento As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
'Data = New DataTable
|
||||
|
||||
@@ -945,6 +945,7 @@ Public Class ClsAcumuladores
|
||||
.Add("@ImporteCompras", SqlDbType.Money).Value = ImporteCompras
|
||||
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
|
||||
.Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
|
||||
.Add("@FechaIng", SqlDbType.DateTime).Value = FechaIng
|
||||
End With
|
||||
|
||||
Try
|
||||
|
||||
@@ -2078,7 +2078,7 @@ Namespace Modelos
|
||||
For Each RowSalida As DataRow In DtMovimientos.Rows
|
||||
Dim Cantidad As Decimal = RowSalida("Cantidad").ToString().ToDecimal() * -1
|
||||
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Cantidad, RowSalida("CveTamaño").ToString.ToEntero, CveConcepto, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "") Then
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Cantidad, RowSalida("CveTamaño").ToString.ToEntero, CveConcepto, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "", factura.Fecha) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
@@ -2100,7 +2100,7 @@ Namespace Modelos
|
||||
For Each drow As DataRow In factura.DtDetalle.Rows
|
||||
If drow("CveTamaño").ToString.ToEntero > 0 And (CvePSPSA <> drow("CvePS").ToString.ToEntero) Then
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, drow("Cantidad").ToString.ToDecimal, drow("CveTamaño").ToString.ToEntero, 2, factura.CveVenta, UsuarioActual.CveUsuario,
|
||||
UsuarioActual.CveEmpresa, 0D, "") Then
|
||||
UsuarioActual.CveEmpresa, 0D, "", factura.Fecha) Then
|
||||
Resultado = False
|
||||
Exit For
|
||||
End If
|
||||
@@ -2159,7 +2159,7 @@ Namespace Modelos
|
||||
If factura.Cliente.EsDistribuidor AndAlso factura.CveConceptoMovimiento = 42 AndAlso Dr("CveTamaño").ToString.ToEntero > 0 Then
|
||||
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Dr("Cantidad").ToString.ToDecimal(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, CveVenta, UsuarioActual.CveUsuario,
|
||||
UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, CveMovimiento:=CveMovimiento) Then
|
||||
UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, factura.Fecha, CveMovimiento:=CveMovimiento) Then
|
||||
' Mensaje = "Error al guardar Movimientos de distribuidor"
|
||||
Resultado = False
|
||||
Exit For
|
||||
|
||||
@@ -434,7 +434,7 @@ Public Class Timbrado
|
||||
End If
|
||||
#End Region
|
||||
|
||||
Dim conector As New Profact.TimbraCFDI33.Conector(AmbienteProductivo)
|
||||
Dim conector As New Profact.TimbraCFDI40.Conector(AmbienteProductivo)
|
||||
|
||||
If Not AmbienteProductivo Then
|
||||
conector.EstableceCredenciales("mvpNUXmQfK8=")
|
||||
@@ -442,8 +442,8 @@ Public Class Timbrado
|
||||
conector.EstableceCredenciales("vSGxMFWnNRy/nDoowxqrqw==|Sia123654")
|
||||
End If
|
||||
MsgCancelacion.AppendFormat("-3.2")
|
||||
Dim resultadoCancelacion As Profact.TimbraCFDI.ResultadoCancelacionAck
|
||||
resultadoCancelacion = conector.CancelaCFDIAck(RFCEmisor, FolioFiscal)
|
||||
Dim resultadoCancelacion As Profact.TimbraCFDI.ResultadoCancelacion
|
||||
resultadoCancelacion = conector.CancelaCFDI40(RFCEmisor, FolioFiscal, CodigoSATMotivoCancelacion, FolioSustitucion)
|
||||
CancelacionFecha = Now
|
||||
Dim resp As Profact.TimbraCFDI.ResultadoConsulta
|
||||
resp = conector.ObtieneCFDI(RFCEmisor, FolioFiscal)
|
||||
@@ -474,7 +474,7 @@ Public Class Timbrado
|
||||
Else
|
||||
MsgCancelacion.AppendFormat("-3.5")
|
||||
CancelacionAcuse = resp.NumeroError
|
||||
CancelacionMensaje = resultadoCancelacion.Xml
|
||||
CancelacionMensaje = resultadoCancelacion.Descripcion
|
||||
Retorno = False
|
||||
End If
|
||||
|
||||
@@ -704,14 +704,14 @@ Public Class Timbrado
|
||||
Dim XMLString As String = $"<Envelope xmlns=""http://schemas.xmlsoap.org/soap/envelope/"">
|
||||
<Body>
|
||||
<cancelarConOpciones xmlns=""timbrado.ws.pade.mx"">
|
||||
<contrato xmlns="""">{contrato}</contrato>
|
||||
<usuario xmlns="""">{UsuarioServicio}</usuario>
|
||||
<passwd xmlns="""">{PassServicio}</passwd>
|
||||
<rfcEmisor xmlns="""">{rfcEmisor}</rfcEmisor>
|
||||
<arregloUUID xmlns="""">{arregloUUID}|{rfcReceptor}|{rfcEmisor}|{Total}</arregloUUID>
|
||||
<cert xmlns="""">{certBase64}</cert>
|
||||
<key xmlns="""">{keyBase64}</key>
|
||||
<keyPass xmlns="""">{keyPass}</keyPass>
|
||||
<contrato xmlns="""">{contrato}</contrato>
|
||||
<usuario xmlns="""">{UsuarioServicio}</usuario>
|
||||
<passwd xmlns="""">{PassServicio}</passwd>
|
||||
<rfcEmisor xmlns="""">{rfcEmisor}</rfcEmisor>
|
||||
<arregloUUID xmlns="""">{arregloUUID}|{rfcReceptor}|{rfcEmisor}|{Total}</arregloUUID>
|
||||
<cert xmlns="""">{certBase64}</cert>
|
||||
<key xmlns="""">{keyBase64}</key>
|
||||
<keyPass xmlns="""">{keyPass}</keyPass>
|
||||
<opciones xmlns="""">{If(TimbraProduccion, "", "MODO_PRUEBA:3")}</opciones>
|
||||
</cancelarConOpciones>
|
||||
</Body>
|
||||
|
||||
@@ -49,9 +49,11 @@
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkEliminar" runat="server" Visible="false" OnClientClick="return confirm('¿Está seguro de eliminar el documento?');" Style="color: #686868;"><i class="fa fa-minus" style="color: #686868;"></i> Eliminar Movimiento</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<%--<li>
|
||||
<asp:LinkButton ID="LnkCancelarComplemento" OnClick="LnkCancelarComplemento_Click" runat="server" Visible="false" Style="color: #686868;"><i class="fa fa-ban" style="color: #686868;"></i> Refacturar Complemento</asp:LinkButton>
|
||||
</li>
|
||||
</li>--%>
|
||||
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkCancelarComplementoImporte" OnClick="LnkCancelarComplementoImporte_Click" runat="server" Visible="false" data-btn-ok-label="si" Style="color: #686868;" data-toggle="tooltip" data-placement="left" title="Cancelar Movimiento y Complemento" > <i class="fa fa-pencil"></i> Cancelar Movimiento y Complemento</asp:LinkButton>
|
||||
|
||||
@@ -1215,29 +1217,30 @@
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" HighlightCssClass="vco" TargetControlID="RVTxtFechaCancelacion" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:CheckBox ID="ChkGeneraCancelacion" CssClass="md-checksd2" Text="Genera Devolución" TextAlign="Right" runat="server" AutoPostBack="true" OnCheckedChanged="ChkGeneraCancelacion_CheckedChanged" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="DVTipoTransacciónCancelar" runat="server" visible ="false">
|
||||
|
||||
Movimiento:
|
||||
<asp:DropDownList ID="DdlTipoTransaccionCancelacion" CssClass="form-control input-sm select2me" runat="server" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpCancelarIE">
|
||||
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVDdlTipoTransaccionCancelacion" runat="server" ControlToValidate="DdlTipoTransaccionCancelacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Transaccion''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpCancelarIE"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEDdlTipoTransaccionCancelacion" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlTipoTransaccionCancelacion" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:CheckBox ID="ChkGeneraCancelacion" CssClass="md-checksd2" Text="Genera Devolución" TextAlign="Right" runat="server" AutoPostBack="true" OnCheckedChanged="ChkGeneraCancelacion_CheckedChanged" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="DVTipoTransacciónCancelar" runat="server" visible="false">
|
||||
Movimiento:
|
||||
<asp:DropDownList ID="DdlTipoTransaccionCancelacion" CssClass="form-control input-sm select2me" runat="server" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpCancelarIE">
|
||||
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVDdlTipoTransaccionCancelacion" runat="server" ControlToValidate="DdlTipoTransaccionCancelacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Transaccion''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpCancelarIE"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEDdlTipoTransaccionCancelacion" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlTipoTransaccionCancelacion" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnCancelarIE" OnClick="BtnCancelarIE_Click" runat="server" CssClass="btn btn-success" Text="Cancelar Movimiento" ValidationGroup="GrpCancelarIE" />
|
||||
@@ -1367,6 +1370,12 @@
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Motivo" Visible="true" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%">
|
||||
<ItemTemplate>
|
||||
<asp:DropDownList runat="server" id="DdlMotivoCancelacion" DataTextField="CodigoSATDescripcion" DataValueField="CveMotivoCancelacion" CssClass="select2me" Visible ="false">
|
||||
</asp:DropDownList>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Cancelar" Visible="true" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%">
|
||||
<ItemTemplate>
|
||||
@@ -1574,6 +1583,25 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" runat="server" id="DVmotivoCancelacion" visible="false">
|
||||
<div class="col-md-2">
|
||||
Motivo de Cancelación:
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
|
||||
|
||||
<asp:DropDownList runat="server" id="DdlMotivoCancelacion" DataTextField="CodigoSATDescripcion" DataValueField="CveMotivoCancelacion" CssClass="select2me" Width="100%" >
|
||||
</asp:DropDownList>
|
||||
|
||||
<asp:RequiredFieldValidator ID="RfvDdlMotivoCancelacion" runat="server" ControlToValidate="DdlMotivoCancelacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo de Cancelación''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpCancelarComplemento"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCERfvDdlMotivoCancelacion" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlMotivoCancelacion" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
@@ -837,6 +837,13 @@ Partial Class Bancos_IE
|
||||
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa)
|
||||
DdlMotivoCancelacion.DataBind()
|
||||
DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -1096,7 +1103,7 @@ Partial Class Bancos_IE
|
||||
HplDepositado.NavigateUrl = $"/Bancos/IE.aspx?CveIE={CveIEDeposito2}"
|
||||
End If
|
||||
|
||||
LnkCancelarComplemento.Visible = False
|
||||
'LnkCancelarComplemento.Visible = False
|
||||
LnkCancelarComplementoImporte.Visible = False
|
||||
UppEliminarIE.Update()
|
||||
|
||||
@@ -1267,7 +1274,7 @@ Partial Class Bancos_IE
|
||||
LnkEliminar.Visible = False
|
||||
'LnkCancelar.Visible = False
|
||||
|
||||
LnkCancelarComplemento.Visible = True
|
||||
'LnkCancelarComplemento.Visible = True
|
||||
LnkCancelarComplementoImporte.Visible = True
|
||||
|
||||
End If
|
||||
@@ -1275,7 +1282,7 @@ Partial Class Bancos_IE
|
||||
|
||||
Else
|
||||
BtnEditar.Visible = False
|
||||
LnkCancelarComplemento.Visible = False
|
||||
' LnkCancelarComplemento.Visible = False
|
||||
LnkCancelarComplementoImporte.Visible = False
|
||||
DVGenerarComplementoModal.Visible = False
|
||||
End If
|
||||
@@ -4587,22 +4594,23 @@ Partial Class Bancos_IE
|
||||
Dim ErrorCancelarComplemento As Boolean = True
|
||||
|
||||
If CancelarComplemento Then
|
||||
Dim ObjCancelacion As New Timbrado
|
||||
'Dim ObjBanco As New ClsBancos
|
||||
|
||||
If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then
|
||||
|
||||
If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then
|
||||
CargaComplementosPago()
|
||||
RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
|
||||
ErrorCancelarComplemento = False
|
||||
Alert("El complemento se cancelo correctamente.")
|
||||
End If
|
||||
Dim CveMotivoCancelacion As Integer = DdlMotivoCancelacion.SelectedValue.ToEntero
|
||||
Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero()
|
||||
|
||||
Else
|
||||
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then
|
||||
If CveMotivoCancelacion <= 0 Or CveSATMotivoCancelacion <= 0 Then
|
||||
Alert("Debe de elegir un motivo de cancelación.", TipoMensaje.MsgAdvertencia)
|
||||
ErrorCancelarComplemento = True
|
||||
End If
|
||||
|
||||
If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then
|
||||
|
||||
If Not ErrorCancelarComplemento Then
|
||||
|
||||
Dim ObjCancelacion As New Timbrado
|
||||
If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then
|
||||
|
||||
If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then
|
||||
CargaComplementosPago()
|
||||
RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
|
||||
ErrorCancelarComplemento = False
|
||||
@@ -4610,12 +4618,25 @@ Partial Class Bancos_IE
|
||||
End If
|
||||
|
||||
Else
|
||||
Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then
|
||||
|
||||
If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then
|
||||
CargaComplementosPago()
|
||||
RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
|
||||
ErrorCancelarComplemento = False
|
||||
Alert("El complemento se cancelo correctamente.")
|
||||
End If
|
||||
|
||||
Else
|
||||
Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
Else
|
||||
ErrorCancelarComplemento = False
|
||||
End If
|
||||
@@ -5804,11 +5825,9 @@ Partial Class Bancos_IE
|
||||
#End Region
|
||||
|
||||
#Region " COMPLEMENTOS PAGO "
|
||||
|
||||
Private Sub CargaComplementosPago()
|
||||
|
||||
|
||||
|
||||
|
||||
Dim ObjBancos As New ClsBancos
|
||||
|
||||
If UsuarioActual.CveRol = 1 Then
|
||||
@@ -5823,9 +5842,7 @@ Partial Class Bancos_IE
|
||||
|
||||
GvComplementoPagos.DataSource = ObjBancos.DtResultados
|
||||
|
||||
If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 0 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 And ObjBancos.DtResultados.FiltraParametros(" CveIECancelacion > 0 ").Rows.Count = 0 Then
|
||||
DVGenerarComplementoModal.Visible = True
|
||||
End If
|
||||
|
||||
Else
|
||||
GvComplementoPagos.DataSource = Nothing
|
||||
End If
|
||||
@@ -5833,6 +5850,14 @@ Partial Class Bancos_IE
|
||||
If CveIE > 0 Then
|
||||
If ObjBancos.GetComplementoPagos(-1, CveIE, -1, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 0 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 Then
|
||||
DVGenerarComplementoModal.Visible = True
|
||||
End If
|
||||
|
||||
If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 1 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 Then
|
||||
DVmotivoCancelacion.Visible = True
|
||||
End If
|
||||
|
||||
|
||||
' GvComplementoPagos.DataSource = ObjBancos.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"})
|
||||
|
||||
@@ -5844,11 +5869,14 @@ Partial Class Bancos_IE
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
ObjBancos.Dispose()
|
||||
GvComplementoPagos.DataBind()
|
||||
UpComplementoPagos.Update()
|
||||
|
||||
|
||||
UpEliminarCotizacion.Update() 'Esto se ocupa para mostrar DVmotivoCancelacion
|
||||
|
||||
'ObjBancos.Dispose()
|
||||
'GvComplementoPagos.DataBind()
|
||||
'UpComplementoPagos.Update()
|
||||
@@ -5863,9 +5891,16 @@ Partial Class Bancos_IE
|
||||
e.Row.Cells(4).Text = String.Format("<a class="" texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"" target=""_blank""><i class="" fa fa-ad-pdf""></i></a>", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE"))))
|
||||
|
||||
If e.Row.DataKey("Estatus").Contiene("1", "3") Then
|
||||
|
||||
e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = True
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").Visible = True
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa)
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").DataBind()
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").Items.Insert(0, New ListItem("Seleccione Uno", "-1"))
|
||||
|
||||
Else
|
||||
e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = False
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").Visible = False
|
||||
End If
|
||||
|
||||
ElseIf e.Row.DataKey("Tipo") = "Egs" Then
|
||||
@@ -5876,6 +5911,7 @@ Partial Class Bancos_IE
|
||||
GvComplementoPagos.Columns(6).Visible = False
|
||||
GvComplementoPagos.Columns(7).Visible = False
|
||||
GvComplementoPagos.Columns(8).Visible = False
|
||||
GvComplementoPagos.Columns(9).Visible = False
|
||||
|
||||
End If
|
||||
|
||||
@@ -5950,13 +5986,13 @@ Partial Class Bancos_IE
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Protected Sub LnkCancelarComplemento_Click(sender As Object, e As EventArgs)
|
||||
If ChkConciliado.Checked Then
|
||||
Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
Confirmacion("¿Seguro que desea Cancelar el documento por Sustitución?", "", String.Format("document.location.href=""/Ventas/ClientesAbonar.aspx?CveIESustitucion={0}&CveCliente={1}&CveMoneda={2}""", CveIE, CveCliente, CveMoneda), "")
|
||||
End Sub
|
||||
'Protected Sub LnkCancelarComplemento_Click(sender As Object, e As EventArgs)
|
||||
' If ChkConciliado.Checked Then
|
||||
' Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' Confirmacion("¿Seguro que desea Cancelar el documento por Sustitución?", "", String.Format("document.location.href=""/Ventas/ClientesAbonar.aspx?CveIESustitucion={0}&CveCliente={1}&CveMoneda={2}""", CveIE, CveCliente, CveMoneda), "")
|
||||
'End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
@@ -6126,6 +6162,9 @@ Partial Class Bancos_IE
|
||||
CalendarioCancelacion.StartDate = fechaCancelacion.ToDate
|
||||
UpEliminarCotizacion.Update()
|
||||
End If
|
||||
|
||||
|
||||
|
||||
RegistraScript("ShowDivCancelarIE();")
|
||||
End Sub
|
||||
Protected Sub BtnDesconciliar_Click(sender As Object, e As EventArgs)
|
||||
@@ -6605,6 +6644,16 @@ Partial Class Bancos_IE
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow)
|
||||
|
||||
|
||||
|
||||
Dim CveMotivoCancelacion As Integer = GvRow.FCDropDownList("DdlMotivoCancelacion").SelectedValue.ToEntero
|
||||
Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero()
|
||||
|
||||
If CveMotivoCancelacion <= 0 Or CveSATMotivoCancelacion <= 0 Then
|
||||
Alert("Debe de elegir un motivo de cancelación.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
CveComplementoPagoCancelar = GvRow.DataKey("CveComplementoPago").ToEntero
|
||||
FolioFiscalCancelar = GvRow.DataKey("FolioFiscal").ToString
|
||||
'' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC
|
||||
@@ -6622,7 +6671,7 @@ Partial Class Bancos_IE
|
||||
End If
|
||||
|
||||
Else
|
||||
Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveSATMotivoCancelacion:=2).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero()
|
||||
|
||||
|
||||
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then
|
||||
|
||||
@@ -6681,6 +6730,8 @@ Partial Class Bancos_IE
|
||||
|
||||
RegistraScript("$('#ModalCancelarComplemetno').modal('show');")
|
||||
DivFechaCancelación.Visible = True
|
||||
CargaComplementosPago()
|
||||
|
||||
UpModalCancelarComplemetno.Update()
|
||||
|
||||
Else
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
</ItemTemplate>
|
||||
<ItemStyle Width="5%" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField Visible="true">
|
||||
<asp:TemplateField Visible="false">
|
||||
<HeaderTemplate>Cancelar SAT</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkCancelarFolioFiscal" OnClick="LnkCancelaFolioFiscal" runat="server" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" Visible="false" />
|
||||
@@ -189,49 +189,7 @@
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<div id="ModalDivMail" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">Correo</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel ID="UpSendMail" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:HiddenField ID="HdnSerieFolioPago" runat="server" ClientIDMode="Static" Value="-1" />
|
||||
<div class="row">
|
||||
<div class="col-xs-4">Para:</div>
|
||||
<div class="col-xs-8">
|
||||
<asp:TextBox ID="TxtParaMail" runat="server" Width="370px" CssClass="form-control" ClientIDMode="Static"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-4">
|
||||
Con copia para:<br />
|
||||
(Separar con: ;)
|
||||
</div>
|
||||
<div class="col-xs-8">
|
||||
<asp:TextBox ID="TxtCC" runat="server" TextMode="MultiLine" Columns="3" Rows="3" CssClass="form-control"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<asp:Button ID="BtnSendMail" Text="Enviar" runat="server" ClientIDMode="Static" CssClass="btn btn-primary" ValidationGroup="GrpEnviarEmail" />
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -150,9 +150,9 @@ Partial Class Bancos_RepComplementoPago
|
||||
e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=pdf&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString)))
|
||||
e.Row.FCLinkButton("LnkSendMail").Visible = True
|
||||
|
||||
If DdlOpcion.SelectedValue.ToEntero = 2 Then
|
||||
e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True
|
||||
End If
|
||||
'If DdlOpcion.SelectedValue.ToEntero = 2 Then
|
||||
' e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True
|
||||
'End If
|
||||
|
||||
End If
|
||||
|
||||
@@ -529,7 +529,11 @@ Partial Class Bancos_RepComplementoPago
|
||||
|
||||
|
||||
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
|
||||
End Sub
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -524,7 +524,7 @@
|
||||
<BreakLocation>Start</BreakLocation>
|
||||
</PageBreak>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Top>7.61812in</Top>
|
||||
<Top>7.49312in</Top>
|
||||
<Left>0.20879in</Left>
|
||||
<Height>3.59384in</Height>
|
||||
<Width>7.78795in</Width>
|
||||
@@ -1058,7 +1058,7 @@
|
||||
</Image>
|
||||
</ReportItems>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Top>3.95038in</Top>
|
||||
<Top>3.82538in</Top>
|
||||
<Left>0.05395in</Left>
|
||||
<Height>1.21305in</Height>
|
||||
<Width>8.22763in</Width>
|
||||
@@ -1086,32 +1086,6 @@
|
||||
</TextRuns>
|
||||
<Style />
|
||||
</Paragraph>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>BDH Baterias Distribuciones de Hermosillo SA de CV</Value>
|
||||
<Style>
|
||||
<FontFamily>Myriad Pro</FontFamily>
|
||||
<FontSize>6.7pt</FontSize>
|
||||
<FontWeight>Normal</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style />
|
||||
</Paragraph>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>BBD021220APA</Value>
|
||||
<Style>
|
||||
<FontFamily>Myriad Pro</FontFamily>
|
||||
<FontSize>6.7pt</FontSize>
|
||||
<FontWeight>Normal</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style />
|
||||
</Paragraph>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
@@ -1153,10 +1127,10 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox32</rd:DefaultName>
|
||||
<Top>2.84726cm</Top>
|
||||
<Top>3.48226cm</Top>
|
||||
<Left>0.13011cm</Left>
|
||||
<Height>2.40928cm</Height>
|
||||
<Width>4.15958cm</Width>
|
||||
<Height>2.1447cm</Height>
|
||||
<Width>4.08234cm</Width>
|
||||
<ZIndex>3</ZIndex>
|
||||
<Style>
|
||||
<Border>
|
||||
@@ -1178,7 +1152,7 @@
|
||||
<Value>= IIF(Parameters!Tipo.Value = "INGRESO","FACTURA","NOTA DE CRÉDITO")</Value>
|
||||
<Style>
|
||||
<FontFamily>Myriad Pro</FontFamily>
|
||||
<FontSize>14pt</FontSize>
|
||||
<FontSize>11pt</FontSize>
|
||||
<FontWeight>SemiBold</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
@@ -1198,7 +1172,7 @@
|
||||
</Style>
|
||||
</TextRun>
|
||||
<TextRun>
|
||||
<Value>Serie: </Value>
|
||||
<Value>Serie: </Value>
|
||||
<Style>
|
||||
<FontFamily>Myriad Pro</FontFamily>
|
||||
<FontSize>9.16pt</FontSize>
|
||||
@@ -1213,6 +1187,14 @@
|
||||
<Color>Red</Color>
|
||||
</Style>
|
||||
</TextRun>
|
||||
<TextRun>
|
||||
<Value xml:space="preserve"> </Value>
|
||||
<Style>
|
||||
<FontFamily>Myriad Pro</FontFamily>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
<Color>Red</Color>
|
||||
</Style>
|
||||
</TextRun>
|
||||
<TextRun>
|
||||
<Value> Folio: </Value>
|
||||
<Style>
|
||||
@@ -1446,9 +1428,9 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox4</rd:DefaultName>
|
||||
<Top>0.05159in</Top>
|
||||
<Top>0.05022in</Top>
|
||||
<Left>5.03983in</Left>
|
||||
<Height>1.74708in</Height>
|
||||
<Height>1.62345in</Height>
|
||||
<Width>3.24175in</Width>
|
||||
<ZIndex>4</ZIndex>
|
||||
<Style>
|
||||
@@ -1558,7 +1540,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox40</rd:DefaultName>
|
||||
<Top>4.5675cm</Top>
|
||||
<Top>4.25cm</Top>
|
||||
<Left>13.31398cm</Left>
|
||||
<Height>1.42163cm</Height>
|
||||
<Width>7.72123cm</Width>
|
||||
@@ -2217,7 +2199,7 @@
|
||||
</TablixMembers>
|
||||
</TablixRowHierarchy>
|
||||
<DataSetName>DsOC</DataSetName>
|
||||
<Top>2.38003in</Top>
|
||||
<Top>2.25503in</Top>
|
||||
<Left>0.05854in</Left>
|
||||
<Height>0.34081in</Height>
|
||||
<Width>8.22304in</Width>
|
||||
@@ -2243,7 +2225,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox5</rd:DefaultName>
|
||||
<Top>7.09581cm</Top>
|
||||
<Top>6.77831cm</Top>
|
||||
<Left>0.14868cm</Left>
|
||||
<Height>0.14316cm</Height>
|
||||
<Width>20.88652cm</Width>
|
||||
@@ -2274,7 +2256,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox5</rd:DefaultName>
|
||||
<Top>7.86718cm</Top>
|
||||
<Top>7.54968cm</Top>
|
||||
<Left>15.09838cm</Left>
|
||||
<Height>0.14316cm</Height>
|
||||
<Width>5.93682cm</Width>
|
||||
@@ -2311,7 +2293,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>ImporteLetra</rd:DefaultName>
|
||||
<Top>3.18176in</Top>
|
||||
<Top>3.05676in</Top>
|
||||
<Left>2.30237in</Left>
|
||||
<Height>0.18861in</Height>
|
||||
<Width>5.97921in</Width>
|
||||
@@ -2341,7 +2323,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox5</rd:DefaultName>
|
||||
<Top>9.82898cm</Top>
|
||||
<Top>9.51148cm</Top>
|
||||
<Left>0.13011cm</Left>
|
||||
<Height>0.1cm</Height>
|
||||
<Width>20.88652cm</Width>
|
||||
@@ -2372,7 +2354,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox5</rd:DefaultName>
|
||||
<Top>13.2915cm</Top>
|
||||
<Top>12.974cm</Top>
|
||||
<Left>0.18043cm</Left>
|
||||
<Height>0.14316cm</Height>
|
||||
<Width>20.85477cm</Width>
|
||||
@@ -2406,7 +2388,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox1</rd:DefaultName>
|
||||
<Top>7.3448cm</Top>
|
||||
<Top>7.0273cm</Top>
|
||||
<Left>5.62203cm</Left>
|
||||
<Height>0.34219cm</Height>
|
||||
<Width>9.30316cm</Width>
|
||||
@@ -2524,7 +2506,7 @@
|
||||
</TablixMembers>
|
||||
</TablixRowHierarchy>
|
||||
<DataSetName>DataSet1</DataSetName>
|
||||
<Top>7.30953cm</Top>
|
||||
<Top>6.99203cm</Top>
|
||||
<Left>15.09838cm</Left>
|
||||
<Height>0.48004cm</Height>
|
||||
<Width>5.93682cm</Width>
|
||||
@@ -3022,7 +3004,7 @@
|
||||
</Textbox>
|
||||
</ReportItems>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Top>15.84926cm</Top>
|
||||
<Top>15.53176cm</Top>
|
||||
<Left>0.13702cm</Left>
|
||||
<Height>2.97096cm</Height>
|
||||
<Width>20.89818cm</Width>
|
||||
@@ -3297,7 +3279,7 @@
|
||||
</TablixMembers>
|
||||
</TablixRowHierarchy>
|
||||
<DataSetName>DataSet3</DataSetName>
|
||||
<Top>2.88204in</Top>
|
||||
<Top>2.75704in</Top>
|
||||
<Left>0.05854in</Left>
|
||||
<Height>0.34081in</Height>
|
||||
<Width>2.08542in</Width>
|
||||
@@ -3315,7 +3297,7 @@
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>"REVISAR SU FACTURA Y SUS PRODUCTOS AL MOMENTO DE RECIBIRLAS, YA QUE NO SE REALIZARAN CAMBIOS EN FACTURA </Value>
|
||||
<Value>"REVISAR SU FACTURA Y SUS PRODUCTOS AL MOMENTO DE RECIBIRLAS, YA QUE NO SE REALIZARAN CAMBIOS EN FACTURA.</Value>
|
||||
<Style>
|
||||
<FontFamily>myriad pro</FontFamily>
|
||||
<FontSize>6.5pt</FontSize>
|
||||
@@ -3344,7 +3326,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox1</rd:DefaultName>
|
||||
<Top>8.71223cm</Top>
|
||||
<Top>8.39473cm</Top>
|
||||
<Height>1.07794cm</Height>
|
||||
<Width>20.85477cm</Width>
|
||||
<ZIndex>16</ZIndex>
|
||||
@@ -3467,7 +3449,7 @@
|
||||
</Style>
|
||||
</Textbox>
|
||||
<Line Name="Line4">
|
||||
<Top>15.01864cm</Top>
|
||||
<Top>14.70114cm</Top>
|
||||
<Left>14.38124cm</Left>
|
||||
<Height>0cm</Height>
|
||||
<Width>6.65396cm</Width>
|
||||
@@ -3498,7 +3480,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox39</rd:DefaultName>
|
||||
<Top>15.19503cm</Top>
|
||||
<Top>14.87753cm</Top>
|
||||
<Left>14.38124cm</Left>
|
||||
<Height>0.6cm</Height>
|
||||
<Width>6.65396cm</Width>
|
||||
@@ -3537,7 +3519,7 @@
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox38</rd:DefaultName>
|
||||
<Top>13.57236cm</Top>
|
||||
<Top>13.25486cm</Top>
|
||||
<Left>14.38124cm</Left>
|
||||
<Height>0.67938cm</Height>
|
||||
<Width>6.65396cm</Width>
|
||||
@@ -3552,8 +3534,57 @@
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
<Textbox Name="Textbox16">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>BDH</Value>
|
||||
<Style>
|
||||
<FontStyle>Normal</FontStyle>
|
||||
<FontFamily>Calibri</FontFamily>
|
||||
<FontSize>9pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
<TextDecoration>None</TextDecoration>
|
||||
<Color>#000000</Color>
|
||||
</Style>
|
||||
</TextRun>
|
||||
<TextRun>
|
||||
<Value> Baterias Distribuciones de Hermosillo SA de CV</Value>
|
||||
<Style>
|
||||
<FontStyle>Normal</FontStyle>
|
||||
<FontFamily>Calibri</FontFamily>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
<TextDecoration>None</TextDecoration>
|
||||
<Color>#000000</Color>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Left</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox16</rd:DefaultName>
|
||||
<Top>2.16641cm</Top>
|
||||
<Left>0.13011cm</Left>
|
||||
<Height>1.21002cm</Height>
|
||||
<Width>4.23014cm</Width>
|
||||
<ZIndex>22</ZIndex>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>None</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</ReportItems>
|
||||
<Height>28.47838cm</Height>
|
||||
<Height>28.16088cm</Height>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>None</Style>
|
||||
|
||||
@@ -41,12 +41,14 @@ Partial Class General_CatCategorias
|
||||
If ObjCategorias.AddCategorias(TxtCategoria.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
TxtCategoria.Text = ""
|
||||
Alert("El nueva Categoría se guardó correctamente.", TipoMensaje.MsgInformacion)
|
||||
GlobalDTGralCategorias(UsuarioActual.CveEmpresa) = Nothing
|
||||
End If
|
||||
ElseIf HdnModalidadCategoria.Value = "U" Then
|
||||
If ObjCategorias.UpdateCategoria(TxtCategoria.Text.Trim, ChkEstatus.Checked, HdnIDCategoria.Value.ToEntero) Then
|
||||
TxtCategoria.Text = ""
|
||||
ChkEstatus.Checked = True
|
||||
Alert("La Categoría se actualizó correctamente.", TipoMensaje.MsgInformacion)
|
||||
GlobalDTGralCategorias(UsuarioActual.CveEmpresa) = Nothing
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
@@ -15,6 +15,15 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
Private _dtDatos As DataTable
|
||||
|
||||
Public Property DtClientes() As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DtClientes"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtClientes") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property DtMovimientos() As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DtMovimientos"), DataTable)
|
||||
@@ -331,6 +340,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
CargaInicial()
|
||||
GeneraRNCFromURL()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -405,7 +415,76 @@ Partial Class Inventarios_RecepcionUsados
|
||||
'DdlProducto2.setEsWebService(True)
|
||||
'DdlProducto2.Attributes.Add("data-metodo", "getpsusados")
|
||||
End Sub
|
||||
Private Sub GeneraRNCFromURL()
|
||||
Dim RFC As String = IfNull(Request("RFC"), "").ToString()
|
||||
Dim CveAlmacen As Integer = IfNull(Request("CveAlmacen"), "-1").ToString().ToEntero()
|
||||
Dim Cantidad As Decimal = IfNull(Request("Cantidad"), "0").ToString().ToDecimal()
|
||||
Dim Fecha As DateTime = IfNull(Request("Fecha"), Now.ToString("dd/MM/yyyy")).ToString().ToDateTime()
|
||||
|
||||
If Not String.IsNullOrEmpty(RFC) Then
|
||||
If DtClientes Is Nothing Then
|
||||
Alert("No se encontraron clientes para filtrar", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim RowCliente = DtClientes.FiltroPrimero(String.Format("RFC='{0}'", RFC))
|
||||
If RowCliente Is Nothing Then
|
||||
Alert("No se encontro el cliente", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If CveAlmacen <= 0 Then
|
||||
Alert("Es necesario especificar el almacen", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If Cantidad <= 0 Then
|
||||
Alert("Es necesario especificar la cantidad", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero()
|
||||
|
||||
DdlClientes.SelectedValueExist(CveCliente)
|
||||
DdlClientes_SelectedIndexChanged(DdlClientes, EventArgs.Empty)
|
||||
|
||||
DdlAlmacen.SelectedValueExist(CveAlmacen)
|
||||
TxtFecha.Text = Fecha.ToString("dd/MM/yyyy")
|
||||
|
||||
|
||||
Dim CvePS As Integer = 403591 'EXTRA CHICO
|
||||
Dim CveTamanio As Integer = 1
|
||||
Dim CveUM As Integer = -1
|
||||
Dim PU As Decimal = 0
|
||||
Dim RowTamanio As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CvePSCargo > 0 AND CvePSCargo={CvePS}")
|
||||
Dim CodigoPS As String = ""
|
||||
Dim UnidaMedida As String = ""
|
||||
|
||||
If RowTamanio IsNot Nothing Then
|
||||
PU = RowTamanio("Cargo").ToString.ToDecimal()
|
||||
CodigoPS = RowTamanio("CodigoPS").ToString()
|
||||
CveTamanio = RowTamanio("CveTamaño").ToString().ToEntero()
|
||||
CveUM = RowTamanio("CveUM").ToString().ToEntero()
|
||||
UnidaMedida = "" 'RowTamanio("UnidadMedida").ToString()
|
||||
|
||||
AddNew(CvePS, CodigoPS, CveUM, UnidaMedida, Cantidad, PU, "", "-1", "-1", "-1", "", "", -1, "", "", CveTamanio)
|
||||
|
||||
Dim CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
|
||||
|
||||
CreaRemisionNC(CveCliente, CveSubProyecto, 1)
|
||||
|
||||
If Me.ObjRemisionNC IsNot Nothing Then
|
||||
Guardar(True)
|
||||
Else
|
||||
Alert("No se pudo generar la RNC", TipoMensaje.MsgError)
|
||||
End If
|
||||
Else
|
||||
Alert("No se encontro el tamaño", TipoMensaje.MsgError)
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#Region " PERMISOS PAGINAS "
|
||||
@@ -1165,7 +1244,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
If EsDistribuidor AndAlso RBLOpcion.SelectedValue.ToEntero = 42 AndAlso Dr("CveTamaño").ToString.ToEntero > 0 Then
|
||||
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(DdlClientes.SelectedValue.ToEntero, Dr("Cantidad").ToString.ToEntero(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, CveVenta, UsuarioActual.CveUsuario,
|
||||
UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, CveMovimiento:=CveMovimiento) Then
|
||||
UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, Now, CveMovimiento:=CveMovimiento) Then
|
||||
Mensaje = "Error al guardar Movimientos de distribuidor"
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
@@ -1850,9 +1929,11 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
#Region "DDL CLIENTE / CLIENTE SUCURSAL - SELECTED INDEX CHANGED"
|
||||
Private Sub InicializaClientes(Todos As Boolean)
|
||||
DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(If(Todos, "", "EsDistribuidor = 1"))
|
||||
|
||||
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(If(Todos, "", "EsDistribuidor = 1"))
|
||||
DdlClientes.DataSource = DtClientes
|
||||
DdlClientes.DataBind()
|
||||
|
||||
DdlClientes.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlClientes.SelectedValue = "-1"
|
||||
|
||||
@@ -2219,11 +2300,12 @@ Partial Class Inventarios_RecepcionUsados
|
||||
Me.ObjRemisionNC.TipoDocto = "RNC"
|
||||
Me.ObjRemisionNC.RefDocto = ""
|
||||
Me.ObjRemisionNC.CveMesa = -1
|
||||
Me.ObjRemisionNC.Fecha = Now
|
||||
Dim Fecha As DateTime = TxtFecha.Text.ToDateTime()
|
||||
Me.ObjRemisionNC.Fecha = Fecha
|
||||
Me.ObjRemisionNC.CvePrePoliza = -1
|
||||
Me.ObjRemisionNC.FechaPago = Now
|
||||
Me.ObjRemisionNC.FechaPago = Fecha
|
||||
Me.ObjRemisionNC.MotivoDescuento = ""
|
||||
Me.ObjRemisionNC.FechaEjecucion = Now
|
||||
Me.ObjRemisionNC.FechaEjecucion = Fecha
|
||||
Me.ObjRemisionNC.UsuarioCreo = UsuarioActual.Usuario
|
||||
Me.ObjRemisionNC.CveCondicionEntrega = -1
|
||||
Me.ObjRemisionNC.CondicionEntrega = ""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -155,14 +155,16 @@ Partial Class Ventas_ClientesAbonar
|
||||
ViewState("Mail") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property CveIESustitucion As Integer
|
||||
Get
|
||||
Return ViewState("CveIESustitucion").ToString.ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveIESustitucion") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Private Property CveIESustitucion As Integer
|
||||
' Get
|
||||
' Return ViewState("CveIESustitucion").ToString.ToEntero
|
||||
' End Get
|
||||
' Set(value As Integer)
|
||||
' ViewState("CveIESustitucion") = value
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Private Property CFDIRelacionadoSustitucion As String
|
||||
Get
|
||||
If ViewState("CFDIRelacionadoSustitucion") Is Nothing Then
|
||||
@@ -244,9 +246,9 @@ Partial Class Ventas_ClientesAbonar
|
||||
|
||||
FechaCorteIE = DateTime.Now
|
||||
|
||||
If CveIESustitucion > 0 Then
|
||||
CargaIESustituir()
|
||||
End If
|
||||
'If CveIESustitucion > 0 Then
|
||||
' CargaIESustituir()
|
||||
'End If
|
||||
|
||||
Dim dia As Integer = If(UsuarioActual.CveEmpresa = 13, Now.Day - 1, Now.Day)
|
||||
Fecha = (dia.ToString + "/" + Now.Month.ToString + "/" + Now.Year.ToString).ToDate
|
||||
@@ -334,7 +336,9 @@ Partial Class Ventas_ClientesAbonar
|
||||
Retorno = True
|
||||
CargaCuentas()
|
||||
CargaTipoTransaccion()
|
||||
TxtFechaDocumento.Text = IIf(CveIESustitucion > 0, FechaCorteIE.ToShortDateString, Now.ToShortDateString).ToString
|
||||
|
||||
'TxtFechaDocumento.Text = IIf(CveIESustitucion > 0, FechaCorteIE.ToShortDateString, Now.ToShortDateString).ToString
|
||||
TxtFechaDocumento.Text = Now.ToShortDateString.ToString
|
||||
|
||||
TxtAboneA.Enabled = False
|
||||
LbEncabezado.Text = String.Format("<a href='/Ventas/Clientes.aspx?CveCliente={0}' target='_blank' class='Texto'>{1}</a>", CveCliente, ObjCliente.NombreComercial)
|
||||
@@ -372,10 +376,12 @@ Partial Class Ventas_ClientesAbonar
|
||||
Dim FechaI As String = IfNull(Request("FechaI"), "-1")
|
||||
Dim FechaF As String = IfNull(Request("FechaF"), "-1")
|
||||
|
||||
Dim FechaCorte As Date = IIf(CveIESustitucion > 0, (FechaCorteIE.ToDate).ToShortDateString, DateTime.Now.AddYears(1).ToShortDateString).ToString.ToDate
|
||||
'Dim FechaCorte As Date = IIf(CveIESustitucion > 0, (FechaCorteIE.ToDate).ToShortDateString, DateTime.Now.AddYears(1).ToShortDateString).ToString.ToDate
|
||||
Dim FechaCorte As Date = DateTime.Now.AddYears(1).ToShortDateString.ToString.ToDate
|
||||
|
||||
Dim SumDescuentoProntoPago As Double = 0.0
|
||||
If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte, CveIESustitucion:=CveIESustitucion) Then
|
||||
'If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte, CveIESustitucion:=CveIESustitucion) Then
|
||||
If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte) Then
|
||||
Dim TmpCxCAux As DataTable
|
||||
TmpCxCAux = Mov.DtResultados.FiltraParametros("Saldo > 0", "Fecha,SerieFolio")
|
||||
SumDescuentoProntoPago = TmpCxCAux.SUM("DescuentoProntoPago")
|
||||
@@ -385,6 +391,7 @@ Partial Class Ventas_ClientesAbonar
|
||||
CveMoneda = pCveMoneda
|
||||
|
||||
End If
|
||||
|
||||
TxtImporte.Text = ""
|
||||
TxtObservaciones.Text = ""
|
||||
If SumDescuentoProntoPago > 0.0 Then
|
||||
@@ -701,12 +708,12 @@ Partial Class Ventas_ClientesAbonar
|
||||
'02-05-2018 MANDAMOS CANCELAR EL COMPLEMENTO A SUSTITUIR
|
||||
Dim ErrorCancelarIE As Boolean = False
|
||||
|
||||
If CveIESustitucion > 0 Then
|
||||
ErrorCancelarIE = CancelarIE()
|
||||
If ErrorCancelarIE Then
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
'If CveIESustitucion > 0 Then
|
||||
' ErrorCancelarIE = CancelarIE()
|
||||
' If ErrorCancelarIE Then
|
||||
' Exit Sub
|
||||
' End If
|
||||
'End If
|
||||
|
||||
Dim ObjIE As New ClsBancos()
|
||||
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
|
||||
@@ -761,7 +768,8 @@ Partial Class Ventas_ClientesAbonar
|
||||
|
||||
End If
|
||||
|
||||
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=CveIESustitucion, CveProveedorIntermediario:=CveProvIntermediario)
|
||||
'CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=CveIESustitucion, CveProveedorIntermediario:=CveProvIntermediario)
|
||||
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=-1, CveProveedorIntermediario:=CveProvIntermediario)
|
||||
Else
|
||||
If RblTipoPago.SelectedValue.Contiene("3") Then
|
||||
CveIE = DdlIngreso.SelectedValue.ToEntero
|
||||
@@ -1726,16 +1734,18 @@ Partial Class Ventas_ClientesAbonar
|
||||
End If
|
||||
|
||||
'BITACORA
|
||||
If MsgError = "" Then
|
||||
If CveIESustitucion > 0 And ComplementoSustitucionGenerado Then
|
||||
If Not ObjEvento.AddEventoBitacora($"Complemento de pago Cancelado por sustitución con Folio <a href='/Bancos/IE.aspx?CveIE={CveIE}' target='_blank' class='Texto'>{TxtFolio.Text}</a>", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIESustitucion) Then
|
||||
MsgError = "Ocurrió un error al agregar la bitacora"
|
||||
End If
|
||||
If Not ObjEvento.AddEventoBitacora($"Complemento de pago Generado por Sustitución de <a href='/Bancos/IE.aspx?CveIE={CveIESustitucion}' target='_blank' class='Texto'>{FolioIECancelado}</a>", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIE) Then
|
||||
MsgError = "Ocurrió un error al agregar la bitacora"
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
'If MsgError = "" Then
|
||||
|
||||
' If CveIESustitucion > 0 And ComplementoSustitucionGenerado Then
|
||||
' If Not ObjEvento.AddEventoBitacora($"Complemento de pago Cancelado por sustitución con Folio <a href='/Bancos/IE.aspx?CveIE={CveIE}' target='_blank' class='Texto'>{TxtFolio.Text}</a>", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIESustitucion) Then
|
||||
' MsgError = "Ocurrió un error al agregar la bitacora"
|
||||
' End If
|
||||
' If Not ObjEvento.AddEventoBitacora($"Complemento de pago Generado por Sustitución de <a href='/Bancos/IE.aspx?CveIE={CveIESustitucion}' target='_blank' class='Texto'>{FolioIECancelado}</a>", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIE) Then
|
||||
' MsgError = "Ocurrió un error al agregar la bitacora"
|
||||
' End If
|
||||
' End If
|
||||
|
||||
'End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgError = "Ocurrió un error al guardar el movimiento"
|
||||
@@ -2269,7 +2279,7 @@ Partial Class Ventas_ClientesAbonar
|
||||
DdlCuenta.SelectedValue = "-1"
|
||||
DdlTipoTransaccion.SelectedValue = "-1"
|
||||
|
||||
CveIESustitucion = "-1"
|
||||
'CveIESustitucion = "-1"
|
||||
CFDIRelacionadoSustitucion = "-1"
|
||||
FechaCorteIE = DateTime.Now.ToDate
|
||||
IDPoliza = -1
|
||||
@@ -2500,7 +2510,8 @@ Partial Class Ventas_ClientesAbonar
|
||||
Dim ObjBancos As New ClsBancos
|
||||
|
||||
|
||||
If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, If(CveIESustitucion > 0, 2, 1), UsuarioActual.CveEmpresa, -1) Then
|
||||
'If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, If(CveIESustitucion > 0, 2, 1), UsuarioActual.CveEmpresa, -1) Then
|
||||
If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, 1, UsuarioActual.CveEmpresa, -1) Then
|
||||
If Not ObjBancos.DtResultados.Rows.Count > 0 Then
|
||||
ObjBancos.Dispose()
|
||||
Alert("No se generaron complementos de pago porque no hay facturas con método de pago PPD", TipoMensaje.MsgAdvertencia)
|
||||
@@ -2512,7 +2523,9 @@ Partial Class Ventas_ClientesAbonar
|
||||
|
||||
ObjBancos.IniciaTransacSQL()
|
||||
|
||||
If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=If(CveIESustitucion > 0, True, False)) Then
|
||||
|
||||
'If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=If(CveIESustitucion > 0, True, False)) Then
|
||||
If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=False) Then
|
||||
ObjBancos.Commit()
|
||||
ComplementoSustitucionGenerado = True
|
||||
|
||||
@@ -2883,183 +2896,185 @@ Partial Class Ventas_ClientesAbonar
|
||||
#End Region
|
||||
|
||||
#Region "COMPLEMENTO DE PAGO - ELIMINAR POR SUSTITUCION"
|
||||
Protected Sub CargaIESustituir()
|
||||
Dim ObjIE As New ClsBancos()
|
||||
If ObjIE.GetBancosIE(CveIESustitucion, UsuarioActual.CveEmpresa) Then
|
||||
If ObjIE.DtResultados.Rows.Count > 0 Then
|
||||
FechaCorteIE = ObjIE.FechaDocumento
|
||||
CveMoneda = ObjIE.CveMoneda
|
||||
CveMonedaFiltro = CveMoneda
|
||||
IDPoliza = ObjIE.IDPoliza
|
||||
FolioIECancelado = ObjIE.Folio
|
||||
End If
|
||||
End If
|
||||
ObjIE.Dispose()
|
||||
UpDatos.Update()
|
||||
End Sub
|
||||
Function CancelarIE() As Boolean
|
||||
Dim ErrorCancelar = False
|
||||
|
||||
If Not IsDate(TxtFechaDocumento.Text.ToDate) Then
|
||||
Alert("El campo fecha cancelación es incorrecto. Por favor verifique y vuelva a intentar")
|
||||
Return True
|
||||
End If
|
||||
'Protected Sub CargaIESustituir()
|
||||
' Dim ObjIE As New ClsBancos()
|
||||
' If ObjIE.GetBancosIE(CveIESustitucion, UsuarioActual.CveEmpresa) Then
|
||||
' If ObjIE.DtResultados.Rows.Count > 0 Then
|
||||
' FechaCorteIE = ObjIE.FechaDocumento
|
||||
' CveMoneda = ObjIE.CveMoneda
|
||||
' CveMonedaFiltro = CveMoneda
|
||||
' IDPoliza = ObjIE.IDPoliza
|
||||
' FolioIECancelado = ObjIE.Folio
|
||||
' End If
|
||||
' End If
|
||||
' ObjIE.Dispose()
|
||||
' UpDatos.Update()
|
||||
'End Sub
|
||||
|
||||
Dim Banc As New ClsBancos
|
||||
Banc.IniciaTransacSQL()
|
||||
'Function CancelarIE() As Boolean
|
||||
' Dim ErrorCancelar = False
|
||||
|
||||
Dim ObjAC As ClsContPAQi = Nothing
|
||||
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then
|
||||
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
|
||||
ObjAC.IniciaTransacSQL()
|
||||
End If
|
||||
' If Not IsDate(TxtFechaDocumento.Text.ToDate) Then
|
||||
' Alert("El campo fecha cancelación es incorrecto. Por favor verifique y vuelva a intentar")
|
||||
' Return True
|
||||
' End If
|
||||
|
||||
Dim IdPolizaNueva = -1
|
||||
Dim FolioPolizaNueva = -1
|
||||
' Dim Banc As New ClsBancos
|
||||
' Banc.IniciaTransacSQL()
|
||||
|
||||
Try
|
||||
'CANCELA IE CONTABILIZADO
|
||||
If IDPoliza > 0 Then
|
||||
If ObjAC Is Nothing Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
' Dim ObjAC As ClsContPAQi = Nothing
|
||||
' If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then
|
||||
' ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
|
||||
' ObjAC.IniciaTransacSQL()
|
||||
' End If
|
||||
|
||||
If Not ErrorCancelar Then
|
||||
Dim dt As DataTable
|
||||
If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
|
||||
dt = ObjAC.DtResultados
|
||||
' Dim IdPolizaNueva = -1
|
||||
' Dim FolioPolizaNueva = -1
|
||||
|
||||
' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
|
||||
If dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaDocumento.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaDocumento.Text.ToDate.Year Then
|
||||
IdPolizaNueva = ObjAC.AddPoliza(3, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaDocumento.Text.ToDate)
|
||||
' Try
|
||||
' 'CANCELA IE CONTABILIZADO
|
||||
' If IDPoliza > 0 Then
|
||||
' If ObjAC Is Nothing Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
|
||||
If IdPolizaNueva > 0 Then
|
||||
FolioPolizaNueva = ObjAC.Folio
|
||||
' If Not ErrorCancelar Then
|
||||
' Dim dt As DataTable
|
||||
' If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
|
||||
' dt = ObjAC.DtResultados
|
||||
|
||||
'CREA POLIZA NEGATIVA
|
||||
For Each dr As DataRow In dt.Rows
|
||||
If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaDocumento.Text.ToDate, "") Then
|
||||
ErrorCancelar = True : Exit For
|
||||
End If
|
||||
Next
|
||||
' ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
|
||||
' If dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaDocumento.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaDocumento.Text.ToDate.Year Then
|
||||
' IdPolizaNueva = ObjAC.AddPoliza(3, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaDocumento.Text.ToDate)
|
||||
|
||||
'AJUSTA POLIZA
|
||||
If Not ErrorCancelar Then
|
||||
If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
End If
|
||||
' If IdPolizaNueva > 0 Then
|
||||
' FolioPolizaNueva = ObjAC.Folio
|
||||
|
||||
'CANCELA IE
|
||||
If Not ErrorCancelar Then
|
||||
If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
End If
|
||||
' 'CREA POLIZA NEGATIVA
|
||||
' For Each dr As DataRow In dt.Rows
|
||||
' If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaDocumento.Text.ToDate, "") Then
|
||||
' ErrorCancelar = True : Exit For
|
||||
' End If
|
||||
' Next
|
||||
|
||||
Else
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
' 'AJUSTA POLIZA
|
||||
' If Not ErrorCancelar Then
|
||||
' If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' End If
|
||||
|
||||
Else
|
||||
' 'CANCELA IE
|
||||
' If Not ErrorCancelar Then
|
||||
' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' End If
|
||||
|
||||
'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS
|
||||
For Each dr As DataRow In dt.Rows
|
||||
If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then
|
||||
ErrorCancelar = True : Exit For
|
||||
End If
|
||||
Next
|
||||
' Else
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
|
||||
'AJUSTA POLIZA
|
||||
If Not ErrorCancelar Then
|
||||
If Not ObjAC.AjustaPoliza(IDPoliza) Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
End If
|
||||
' Else
|
||||
|
||||
'CANCELA IE
|
||||
If Not ErrorCancelar Then
|
||||
If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
End If
|
||||
' 'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS
|
||||
' For Each dr As DataRow In dt.Rows
|
||||
' If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then
|
||||
' ErrorCancelar = True : Exit For
|
||||
' End If
|
||||
' Next
|
||||
|
||||
End If
|
||||
' 'AJUSTA POLIZA
|
||||
' If Not ErrorCancelar Then
|
||||
' If Not ObjAC.AjustaPoliza(IDPoliza) Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' End If
|
||||
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
' 'CANCELA IE
|
||||
' If Not ErrorCancelar Then
|
||||
' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' End If
|
||||
|
||||
If FechaCorteIE.Month < TxtFechaDocumento.Text.ToDate.Month Or FechaCorteIE.Year < TxtFechaDocumento.Text.ToDate.Year Then
|
||||
'CANCELA IE MES ANTERIOR
|
||||
If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
Else
|
||||
'CANCELA IE MES ACTUAL
|
||||
If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
End If
|
||||
' End If
|
||||
|
||||
End If
|
||||
' End If
|
||||
' End If
|
||||
' Else
|
||||
|
||||
If Not ErrorCancelar Then
|
||||
If Banc.GetComplementoPagos(-1, CveIESustitucion, -1, UsuarioActual.CveEmpresa) Then
|
||||
' If FechaCorteIE.Month < TxtFechaDocumento.Text.ToDate.Month Or FechaCorteIE.Year < TxtFechaDocumento.Text.ToDate.Year Then
|
||||
' 'CANCELA IE MES ANTERIOR
|
||||
' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' Else
|
||||
' 'CANCELA IE MES ACTUAL
|
||||
' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' End If
|
||||
|
||||
Dim CveComplementoPago As Integer = -1
|
||||
' End If
|
||||
|
||||
If Banc.DtResultados.Rows.Count > 0 Then
|
||||
'OBTENEMOS EL UUID DEL COMPLEMENTO A CANCELAR POR SUSTITUCION
|
||||
CFDIRelacionadoSustitucion = Banc.DtResultados.Rows(0)("FolioFiscal")
|
||||
CveComplementoPago = Banc.DtResultados(0)("CveComplementoPago").ToString().ToEntero
|
||||
End If
|
||||
' If Not ErrorCancelar Then
|
||||
' If Banc.GetComplementoPagos(-1, CveIESustitucion, -1, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
'ACTUALIZA FOLIOS CANCELADOS
|
||||
If Banc.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}).Rows.Count > 0 Then
|
||||
If Not Banc.GetFoliosCancelados(UsuarioActual.CveEmpresa) Then
|
||||
ErrorCancelar = True
|
||||
Else
|
||||
Dim FolioCancelado = $"{FolioIECancelado}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}"
|
||||
' Dim CveComplementoPago As Integer = -1
|
||||
|
||||
If Not Banc.UpdateFolioCancelado(CveIESustitucion.ToEntero, Folio:=FolioCancelado) Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
' If Banc.DtResultados.Rows.Count > 0 Then
|
||||
' 'OBTENEMOS EL UUID DEL COMPLEMENTO A CANCELAR POR SUSTITUCION
|
||||
' CFDIRelacionadoSustitucion = Banc.DtResultados.Rows(0)("FolioFiscal")
|
||||
' CveComplementoPago = Banc.DtResultados(0)("CveComplementoPago").ToString().ToEntero
|
||||
' End If
|
||||
|
||||
'ACTUALIZA ESTATUS DE COMPLEMENTO DE PAGO A CANCELADO = 2
|
||||
If Not ErrorCancelar And CveComplementoPago > 0 Then
|
||||
If Not Banc.UpdateComplementoPagoCancelado(CveComplementoPago, 2, UsuarioActual.Empresa.CvePAC, UsuarioActual.CveEmpresa, DateTime.Now) Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ErrorCancelar = True
|
||||
OnError("Ocurrió un error al cancelar el IE", ex)
|
||||
End Try
|
||||
' 'ACTUALIZA FOLIOS CANCELADOS
|
||||
' If Banc.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}).Rows.Count > 0 Then
|
||||
' If Not Banc.GetFoliosCancelados(UsuarioActual.CveEmpresa) Then
|
||||
' ErrorCancelar = True
|
||||
' Else
|
||||
' Dim FolioCancelado = $"{FolioIECancelado}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}"
|
||||
|
||||
If Not ErrorCancelar Then
|
||||
Banc.Commit()
|
||||
If ObjAC IsNot Nothing Then ObjAC.Commit()
|
||||
' If Not Banc.UpdateFolioCancelado(CveIESustitucion.ToEntero, Folio:=FolioCancelado) Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
|
||||
Dim Msg As New StringBuilder
|
||||
Msg.Append("El movimiento bancario quedó cancelado exitosamente.")
|
||||
' 'ACTUALIZA ESTATUS DE COMPLEMENTO DE PAGO A CANCELADO = 2
|
||||
' If Not ErrorCancelar And CveComplementoPago > 0 Then
|
||||
' If Not Banc.UpdateComplementoPagoCancelado(CveComplementoPago, 2, UsuarioActual.Empresa.CvePAC, UsuarioActual.CveEmpresa, DateTime.Now) Then
|
||||
' ErrorCancelar = True
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
' Catch ex As Exception
|
||||
' ErrorCancelar = True
|
||||
' OnError("Ocurrió un error al cancelar el IE", ex)
|
||||
' End Try
|
||||
|
||||
If IdPolizaNueva > 0 Then Msg.AppendFormat("<br/><br/><a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza de cancelación</a>", IdPolizaNueva)
|
||||
Alert(Msg.ToString, TipoMensaje.MsgInformacion)
|
||||
Else
|
||||
Banc.RollBack()
|
||||
If ObjAC IsNot Nothing Then ObjAC.RollBack()
|
||||
Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
||||
End If
|
||||
' If Not ErrorCancelar Then
|
||||
' Banc.Commit()
|
||||
' If ObjAC IsNot Nothing Then ObjAC.Commit()
|
||||
|
||||
If ObjAC IsNot Nothing Then ObjAC.Dispose()
|
||||
Banc.Dispose()
|
||||
Return ErrorCancelar
|
||||
End Function
|
||||
' Dim Msg As New StringBuilder
|
||||
' Msg.Append("El movimiento bancario quedó cancelado exitosamente.")
|
||||
|
||||
' If IdPolizaNueva > 0 Then Msg.AppendFormat("<br/><br/><a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza de cancelación</a>", IdPolizaNueva)
|
||||
' Alert(Msg.ToString, TipoMensaje.MsgInformacion)
|
||||
' Else
|
||||
' Banc.RollBack()
|
||||
' If ObjAC IsNot Nothing Then ObjAC.RollBack()
|
||||
' Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
||||
' End If
|
||||
|
||||
' If ObjAC IsNot Nothing Then ObjAC.Dispose()
|
||||
' Banc.Dispose()
|
||||
' Return ErrorCancelar
|
||||
'End Function
|
||||
|
||||
Private Sub BtnVincularIntermediario_Click(sender As Object, e As EventArgs) Handles BtnVincularIntermediario.Click
|
||||
RegistraScript("$('#ModalVincularIntermediario').modal('hide')", "hidemodal")
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
<tr align="left" id="TrServicioDomicilio" runat="server" visible="false">
|
||||
<td><b>Servicio a Domicilio:</b> </td>
|
||||
<td>
|
||||
<asp:CheckBox ID="ChkServicioDomicilio" runat="server" CssClass="make-switchsd" data-size="small" Text="" ClientIDMode="Static" />
|
||||
<asp:CheckBox ID="ChkServicioDomicilio" runat="server" AutoPostBack="true" OnCheckedChanged="ChkServicioDomicilio_CheckedChanged" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -928,7 +928,7 @@
|
||||
</div>
|
||||
<div class=" col-sm-8">
|
||||
<div class="Widthall" style="overflow-x: auto;">
|
||||
<asp:GridView ID="GvInv" runat="server" AutoGenerateColumns="false" DataKeyNames="Origen,CvePS" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover" Style="text-align: center;" GridLines="None">
|
||||
<asp:GridView ID="GvInv" runat="server" AutoGenerateColumns="false" DataKeyNames="Consec,Origen,CodigoPS,CvePS,Serie,AplicaSerie" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover" Style="text-align: center;" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
@@ -2769,11 +2769,6 @@
|
||||
<a href="javascript;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UPPDatosUsado" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
|
||||
<div class="portlet-body form">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
@@ -2795,16 +2790,15 @@
|
||||
<div class="col-md-4">
|
||||
<label>Año:</label>
|
||||
<br />
|
||||
<asp:TextBox ID="TxtAnioVehiculo" type="number" runat="server" Height="100%" Width="100%" CssClass="form-control" CausesValidation="true"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVAnio" runat="server" ControlToValidate="TxtAnioVehiculo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Año del vehiculo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEAnio" runat="server" HighlightCssClass="vco" TargetControlID="RFVAnio" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:TextBox ID="TxtAnioVehiculo" type="number" runat="server" Height="100%" Width="100%" CssClass="form-control" ></asp:TextBox>
|
||||
<asp:CustomValidator ID="CVAnio" runat="server" ClientValidationFunction="ValidaAnioVehiculo" ValidateEmptyText="true" ControlToValidate="TxtAnioVehiculo" Display="Dynamic" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Año''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:CustomValidator>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<label>Usado:</label>
|
||||
<br />
|
||||
<asp:DropDownList ID="DdlRecepcionUsados" CssClass="form-control input-sm select2me" runat="server" CausesValidation="true" DataTextField="CodigoPS" DataValueField="CvePSCargo" Width="100%" OnSelectedIndexChanged="DdlRecepcionUsados_SelectedIndexChanged" AutoPostBack="true">
|
||||
<asp:DropDownList ID="DdlRecepcionUsados" CssClass="form-control input-sm select2me" runat="server" DataTextField="CodigoPS" DataValueField="CvePSCargo" Width="100%" OnSelectedIndexChanged="DdlRecepcionUsados_SelectedIndexChanged" AutoPostBack="true">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
@@ -2820,6 +2814,7 @@
|
||||
<asp:DropDownList ID="DdlMarcaUsado" CssClass="form-control input-sm select2me" runat="server" DataTextField="Marca" DataValueField="CveMarcaUsado" Width="100%">
|
||||
<asp:ListItem Selected="True" Text="Seleccione la Marca" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:CustomValidator ID="RFVMarcaUsado" runat="server" ClientValidationFunction="ValidaMarcaUsado" ControlToValidate="DdlMarcaUsado" Display="Dynamic" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Marca''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:CustomValidator>
|
||||
<label for="<%= DdlMarcaUsado.ClientID.ToString()%>">Marca:</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2839,10 +2834,7 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -3147,8 +3139,7 @@
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel ID="UpAgregar" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<%-- <asp:Button ID="BtnCalculaMesesUso" Text="" OnClick="BtnCalculaMesesUso_Click" ClientIDMode="Static" Style="display: none;" runat="server" />--%>
|
||||
<asp:Button ClientIDMode="Static" ID="LnkAgregarPS" OnClick="LnkAgregarPS_Click" runat="server" CssClass="btn btn-primary" Text="Agregar" ValidationGroup="GrpAddVenta" UseSubmitBehavior="false" />
|
||||
<asp:Button ID="LnkAgregarPS" OnClick="LnkAgregarPS_Click" runat="server" CssClass="btn btn-primary" Text="Agregar" ValidationGroup="GrpAddVenta" />
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
@@ -3188,6 +3179,26 @@
|
||||
}
|
||||
});
|
||||
|
||||
function ValidaMarcaUsado(val, args) {
|
||||
//VALIDA SOLO SI SE SELECCIONO UN USADO
|
||||
var cveUsado = ToDouble($get("C_DdlRecepcionUsados").value);
|
||||
if (cveUsado > 0) {
|
||||
args.IsValid = (ToDouble(args.Value) > 0);
|
||||
} else {
|
||||
args.IsValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
function ValidaAnioVehiculo(val, args) {
|
||||
//VALIDA SOLO SI SE SELECCIONO UN USADO
|
||||
var cveUsado = ToDouble($get("C_DdlRecepcionUsados").value);
|
||||
if (cveUsado > 0) {
|
||||
args.IsValid = (ToDouble(args.Value) > 0);
|
||||
} else {
|
||||
args.IsValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
function ValidarCodigoEnsamble(source, arguments) {
|
||||
let CveMarca = HdnPSAjusteMarca.value;
|
||||
let CveClasificacion = HdnPSAjusteClasificacion.value;
|
||||
|
||||
@@ -3067,7 +3067,7 @@ Partial Class PV
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
'SERIE ALMACEN
|
||||
If e.Row.DBCampo("CveTipoInvPS").ToEntero = 5 Then
|
||||
If e.Row.DBCampo("CveTipoInvPS").ToEntero = 5 OrElse CBool(e.Row.DBCampo("AplicaSerie")) Then
|
||||
If CveVenta > 0 Then
|
||||
e.Row.FCLiteral("LtlSerie").Visible = True
|
||||
Else
|
||||
@@ -3198,6 +3198,27 @@ Partial Class PV
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso ChkServicioDomicilio.Checked AndAlso ddlAlmacen.SelectedValue.ToEntero() <= 0 Then
|
||||
Alert("Debe seleccionar un almacen de servicio a domicilio.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso ChkServicioDomicilio.Checked AndAlso GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) <= 0 Then
|
||||
Alert("Debe tener producto seleccionados para servicio a domicilio.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso ChkServicioDomicilio.Checked AndAlso GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then
|
||||
For Each GvRow As GridViewRow In GvInv.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
If String.IsNullOrEmpty(GvRow.FCTextBox("TxtSerie").Text.Trim) AndAlso CBool(GvRow.DataKey("AplicaSerie")) Then
|
||||
Alert(String.Format("El producto {0} requiere serie.", GvRow.DataKey("CodigoPS")), TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
'VALIDA PRECIO AL AGREGAR A ALMACEN
|
||||
If Not UsuarioActual.TienePermisoProceso(169) Then
|
||||
If Not CveContrato > 0 Then
|
||||
@@ -3463,255 +3484,274 @@ Partial Class PV
|
||||
#Region "OBJETO VENTA"
|
||||
|
||||
Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False)
|
||||
|
||||
If Me.CveVenta > 0 Then
|
||||
ObjFactura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
|
||||
Else
|
||||
ObjFactura = New Modelos.Factura(UsuarioActual)
|
||||
ObjFactura.CvePrePoliza = -1
|
||||
End If
|
||||
|
||||
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
|
||||
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
|
||||
ObjFactura.TipoCambio = TxtTipoCambio.Text.Trim.ToDecimal
|
||||
ObjFactura.TipoCambioDolares = TxtTipoCambioDlls.Text.Trim.ToDecimal
|
||||
ObjFactura.ConvertirPesos = ChkConvertirDoctoPesos.Checked
|
||||
ObjFactura.ConvertirDolares = ChkConvertirDolares.Checked
|
||||
ObjFactura.CveMoneda = DdlMoneda.SelectedValue.ToEntero
|
||||
ObjFactura.Moneda = DdlMoneda.SelectedItem.Text
|
||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DdlMoneda.SelectedValue}")
|
||||
ObjFactura.TipoDocto = If(IfNull(ViewState("CveRemision"), 0).ToString.ToEntero > 0, "Ing", DdlTipoComprobante.SelectedValue)
|
||||
'ObjFactura.RefDocto = TxtDocto.Text.Trim
|
||||
ObjFactura.Folio = If(EstablecioFolio Or VistaPrevia Or (CveVenta > 0 And (NuevaFactura.Contiene(0, 2))), TxtFolio.Text.Trim.ToEntero, -1)
|
||||
'ObjFactura.Folio = If(ExFolioFactura, FolioXML.ToEntero, -1)
|
||||
ObjFactura.Serie = If(VistaPrevia, "VistaPrevia", LblSerie.Text)
|
||||
ObjFactura.Fecha = New Date(TxtFecha.Text.Trim.ToDate.Year, TxtFecha.Text.Trim.ToDate.Month, TxtFecha.Text.Trim.ToDate.Day, Now.Hour, Now.Minute, Now.Second)
|
||||
ObjFactura.CveMetodoPago = DdlMetodoPago.SelectedValue.ToEntero
|
||||
ObjFactura.MetodoPago = DdlMetodoPago.SelectedItem.Text
|
||||
ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {DdlMetodoPago.SelectedValue}")
|
||||
ObjFactura.FechaVencimiento = TxtFechaPago.Text.ToDate
|
||||
|
||||
ObjFactura.CveMetodoPago33 = DdlMetodoPago33.SelectedValue.ToEntero
|
||||
ObjFactura.MetodoPago33 = If(DdlMetodoPago33.SelectedValue.ToEntero > 0, DdlMetodoPago33.SelectedItem.Text, "")
|
||||
ObjFactura.ClaveMetodoPagoSAT = GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", $"CveMetodoPago = {DdlMetodoPago33.SelectedValue}")
|
||||
|
||||
ObjFactura.CveFormaPago33 = DdlFormaPago33.SelectedValue.ToEntero
|
||||
ObjFactura.FormaPago33 = If(DdlFormaPago33.SelectedValue.ToEntero > 0, DdlFormaPago33.SelectedItem.Text, "")
|
||||
ObjFactura.FormaPagoSAT33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", $"CveFormaPago = {DdlFormaPago33.SelectedValue}")
|
||||
|
||||
ObjFactura.CveUsoCFDI = DdlUsoCFDI.SelectedValue.ToEntero
|
||||
ObjFactura.UsoCFDI = If(DdlUsoCFDI.SelectedValue.ToEntero > 0, DdlUsoCFDI.SelectedItem.Text, "")
|
||||
ObjFactura.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", $"CveUsoCFDI = {DdlUsoCFDI.SelectedValue}")
|
||||
|
||||
ObjFactura.UsuarioCreo = LblUsuario.Text.Trim
|
||||
|
||||
ObjFactura.CveCondicionEntrega = If(DdlFormaEntrega.SelectedItem IsNot Nothing, DdlFormaEntrega.SelectedValue.ToEntero, -1)
|
||||
ObjFactura.CondicionEntrega = If(DdlFormaEntrega.SelectedItem IsNot Nothing, DdlFormaEntrega.SelectedItem.Text, "")
|
||||
ObjFactura.CondicionesPago = If(RBLPago.SelectedValue = "2", 0, If(RBLPago.SelectedValue = "1", 1, 2)) ' 0 - Contado, 1 - Credito, 2 - termianl
|
||||
ObjFactura.FormaPago = DdlFormaPago.SelectedValue.ToEntero
|
||||
|
||||
Select Case ObjFactura.TipoDocto
|
||||
Case "Ing"
|
||||
ObjFactura.TipoDocumento = "Factura"
|
||||
Case "Rem"
|
||||
ObjFactura.TipoDocumento = "Remision"
|
||||
Case "Cot"
|
||||
ObjFactura.TipoDocumento = "Cotizacion"
|
||||
Case "Egs"
|
||||
ObjFactura.TipoDocumento = "Nota de Crédito"
|
||||
Case "Dev"
|
||||
ObjFactura.TipoDocumento = "Nota de Devolución"
|
||||
Case Else
|
||||
ObjFactura.TipoDocumento = ""
|
||||
End Select
|
||||
|
||||
|
||||
ObjFactura.Fech1 = Now
|
||||
ObjFactura.Fech2 = Now
|
||||
ObjFactura.Fech3 = Now
|
||||
ObjFactura.Alfa1 = ""
|
||||
ObjFactura.Alfa2 = ""
|
||||
ObjFactura.Alfa3 = ""
|
||||
ObjFactura.Num1 = 0
|
||||
ObjFactura.Num2 = 0
|
||||
ObjFactura.Num3 = DdlOrdenPago.SelectedValue.ToDouble
|
||||
ObjFactura.FechaPago = TxtFechaPago.Text.ToDate
|
||||
|
||||
ObjFactura.CveCorte = CveCorte
|
||||
ObjFactura.CveMesa = -1
|
||||
ObjFactura.NumeroPersonas = 0
|
||||
ObjFactura.CveContrato = If(CveContrato > 0, CveContrato, CvePresupuesto)
|
||||
ObjFactura.CveClienteSucursal = DdlSucursalCliente.SelectedValue.ToEntero
|
||||
ObjFactura.Entrega = Entrega
|
||||
ObjFactura.Vigencia = Now
|
||||
|
||||
ObjFactura.CveVentaPadre = If(CveDevolucion > 0, CveDevolucion, CvePedido)
|
||||
ObjFactura.CveVendedor = DdlVendedor.SelectedValue.ToEntero
|
||||
If DdlVendedor.SelectedValue.ToEntero > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
|
||||
ObjFactura.FechaEjecucion = Now
|
||||
|
||||
ObjFactura.CveSucursalEjecucion = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.CveSucursalCobranza = -1
|
||||
|
||||
ObjFactura.CveSubProyecto = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.CveSubProyectoEjecucion = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.CveSubProyectoCobranza = -1
|
||||
|
||||
ObjFactura.AtencionA = If(ObjFactura.TipoDocto = "Cot", TxtAtencionA.Text, "-1")
|
||||
ObjFactura.MotivoDescuento = TxtMotivoDescuento.Text.Trim
|
||||
ObjFactura.Observaciones = TxtObsFact.Text.Trim
|
||||
ObjFactura.Det_OrdenCompra = ""
|
||||
ObjFactura.Det_FechaOrdenCompra = MinFecha.ToShortDateString
|
||||
ObjFactura.MonedaAbreviatura = ""
|
||||
|
||||
'Totales, Y se llena TmpDTImpuestos
|
||||
ObjFactura.SubTotal = TxtSubTotal.Text.ToDecimal
|
||||
ObjFactura.Descuento = LblDescuentos.Text.Trim.ToDecimal
|
||||
ObjFactura.Amortizacion = LblAmortizacion.Text.Trim.ToDecimal
|
||||
ObjFactura.IVA = TxtIVA.Text.ToDecimal
|
||||
ObjFactura.RetIVA = TxtRetIVA.Text.ToDecimal
|
||||
ObjFactura.RetISR = TxtRetISR.Text.ToDecimal
|
||||
ObjFactura.IEPS = TxtIEPS.Text.ToDecimal
|
||||
ObjFactura.Total = TxtTotal.Text.ToDecimal
|
||||
|
||||
ObjFactura.DtDeduccion = New DataTable
|
||||
|
||||
'OTROS
|
||||
ObjFactura.Det_FechaOrdenCompra = ""
|
||||
ObjFactura.Det_OrdenCompra = ""
|
||||
|
||||
ObjFactura.CveNCaVincular = DdlNCFactura.SelectedValue.ToEntero
|
||||
|
||||
If ObjFactura.CveMoneda <> 1 AndAlso ChkConvertirDoctoPesos.Checked Then
|
||||
ObjFactura.TipoCambio = TxtTipoCambio.Text.Trim.ToDecimal
|
||||
ObjFactura.CveMoneda = 1
|
||||
|
||||
ObjFactura.Moneda = "Pesos"
|
||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {ObjFactura.CveMoneda}")
|
||||
End If
|
||||
|
||||
If ObjFactura.CveMoneda <> 2 AndAlso ChkConvertirDolares.Checked Then
|
||||
ObjFactura.TipoCambio = TxtTipoCambioDlls.Text.Trim.ToDecimal
|
||||
ObjFactura.CveMoneda = 2
|
||||
|
||||
ObjFactura.Moneda = "Dólares"
|
||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {ObjFactura.CveMoneda}")
|
||||
End If
|
||||
|
||||
'Se agrega CveVenta -1
|
||||
For Each Row As DataRow In TmpDT.Rows
|
||||
Row("CveVenta") = ObjFactura.CveVenta
|
||||
Next
|
||||
|
||||
|
||||
'DETALLES
|
||||
ObjFactura.DtDetalle = TmpDT
|
||||
ObjFactura.DtFirmas = DTmpF
|
||||
|
||||
'CLIENTE
|
||||
ObjFactura.CveCliente = CveCliente
|
||||
ObjFactura.SetCliente()
|
||||
|
||||
'SUCURSAL
|
||||
ObjFactura.CveSucursal = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.SetSubProyectoMatriz(Me)
|
||||
ObjFactura.SetSubProyecto(Me)
|
||||
ObjFactura.ClienteSucursal = New Modelos.SucursalModel
|
||||
ObjFactura.ClienteSucursal.NoExt = CliNoExt
|
||||
ObjFactura.ClienteSucursal.NoInt = CliNoInt
|
||||
ObjFactura.ClienteSucursal.Localidad = CliLocalidad
|
||||
ObjFactura.ClienteSucursal.Direccion = LblDireccion.Text
|
||||
ObjFactura.ClienteSucursal.Colonia = LblColonia.Text
|
||||
ObjFactura.ClienteSucursal.Municipio = LblCiudad.Text
|
||||
ObjFactura.ClienteSucursal.Estado = LblEstado.Text
|
||||
ObjFactura.ClienteSucursal.CP = LblCP.Text
|
||||
ObjFactura.ClienteSucursal.Pais = CliPais
|
||||
ObjFactura.ClienteSucursal.CorreoSucursal = CliCorreoCot.ToString
|
||||
ObjFactura.ClienteSucursal.TelefonoSucursal = LblTelefono.Text
|
||||
ObjFactura.ClienteSucursal.Sucursal = DdlSucursalCliente.SelectedItem.Text
|
||||
|
||||
ObjFactura.DtDetalle = TmpDT
|
||||
ObjFactura.DtPagos = DtPagos
|
||||
ObjFactura.DtPromociones = DtPromociones
|
||||
|
||||
Dim FM As New Modelos.FemsaFactura
|
||||
Dim TmpDT7Eleven As New DataTable
|
||||
Dim TmpDTComplementosTimbrado As New DataTable
|
||||
|
||||
PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
|
||||
|
||||
ObjFactura.FemsaFactura = FM
|
||||
|
||||
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
|
||||
|
||||
ObjFactura.DtAjustes = TmpDTAjustes
|
||||
|
||||
ObjFactura.DtRecepcionUsados = TmpDTRecepcionUsados
|
||||
|
||||
ObjFactura.DtPolizasVirtuales = TmpDTPolizaVirtual
|
||||
|
||||
ObjFactura.GenerarPDFFactura = False
|
||||
|
||||
Dim CveTipoAlmacen As Integer = If(TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0, 6, 22)
|
||||
If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen = {CveTipoAlmacen} AND CveSubProyecto= {DdlSubProyectoDatos.SelectedValue}").Rows.Count > 0 Then
|
||||
ObjFactura.CveAlmacenRecepcionUsados = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen = {CveTipoAlmacen} AND CveSubProyecto= {DdlSubProyectoDatos.SelectedValue}").Rows(0)("CveAlmacen").ToString.ToEntero
|
||||
End If
|
||||
|
||||
'If Not ddlAlmacen.SelectedValue.ToEntero > 0 AndAlso ddlAlmacen.Items.Count > 1 AndAlso UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" Then
|
||||
' ddlAlmacen.SelectedIndex = 1
|
||||
'End If
|
||||
|
||||
If ddlAlmacen.SelectedValue.ToEntero > 0 Then
|
||||
ObjFactura.CveAlmacen = ddlAlmacen.SelectedValue.ToEntero
|
||||
|
||||
If Not DtInv.Columns.Contains("Seleccionado") Then
|
||||
DtInv.Columns.Add("Seleccionado", GetType(Integer))
|
||||
Try
|
||||
If Me.CveVenta > 0 Then
|
||||
ObjFactura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
|
||||
Else
|
||||
ObjFactura = New Modelos.Factura(UsuarioActual)
|
||||
ObjFactura.CvePrePoliza = -1
|
||||
End If
|
||||
|
||||
For Each Gvr As GridViewRow In GvInv.Rows
|
||||
Dim Dr As DataRow = DtInv.Select($"CvePS={Gvr.DataKey("CvePS")}")(0)
|
||||
If Gvr.FCCheckBox("cbInv").Checked AndAlso ddlAlmacen.SelectedValue.ToEntero > 0 Then
|
||||
Dr("Seleccionado") = 1
|
||||
Else
|
||||
Dr("Seleccionado") = 0
|
||||
End If
|
||||
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
|
||||
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
|
||||
ObjFactura.TipoCambio = TxtTipoCambio.Text.Trim.ToDecimal
|
||||
ObjFactura.TipoCambioDolares = TxtTipoCambioDlls.Text.Trim.ToDecimal
|
||||
ObjFactura.ConvertirPesos = ChkConvertirDoctoPesos.Checked
|
||||
ObjFactura.ConvertirDolares = ChkConvertirDolares.Checked
|
||||
ObjFactura.CveMoneda = DdlMoneda.SelectedValue.ToEntero
|
||||
ObjFactura.Moneda = DdlMoneda.SelectedItem.Text
|
||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DdlMoneda.SelectedValue}")
|
||||
ObjFactura.TipoDocto = If(IfNull(ViewState("CveRemision"), 0).ToString.ToEntero > 0, "Ing", DdlTipoComprobante.SelectedValue)
|
||||
'ObjFactura.RefDocto = TxtDocto.Text.Trim
|
||||
ObjFactura.Folio = If(EstablecioFolio Or VistaPrevia Or (CveVenta > 0 And (NuevaFactura.Contiene(0, 2))), TxtFolio.Text.Trim.ToEntero, -1)
|
||||
'ObjFactura.Folio = If(ExFolioFactura, FolioXML.ToEntero, -1)
|
||||
ObjFactura.Serie = If(VistaPrevia, "VistaPrevia", LblSerie.Text)
|
||||
ObjFactura.Fecha = New Date(TxtFecha.Text.Trim.ToDate.Year, TxtFecha.Text.Trim.ToDate.Month, TxtFecha.Text.Trim.ToDate.Day, Now.Hour, Now.Minute, Now.Second)
|
||||
ObjFactura.CveMetodoPago = DdlMetodoPago.SelectedValue.ToEntero
|
||||
ObjFactura.MetodoPago = DdlMetodoPago.SelectedItem.Text
|
||||
ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {DdlMetodoPago.SelectedValue}")
|
||||
ObjFactura.FechaVencimiento = TxtFechaPago.Text.ToDate
|
||||
|
||||
ObjFactura.CveMetodoPago33 = DdlMetodoPago33.SelectedValue.ToEntero
|
||||
ObjFactura.MetodoPago33 = If(DdlMetodoPago33.SelectedValue.ToEntero > 0, DdlMetodoPago33.SelectedItem.Text, "")
|
||||
ObjFactura.ClaveMetodoPagoSAT = GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", $"CveMetodoPago = {DdlMetodoPago33.SelectedValue}")
|
||||
|
||||
ObjFactura.CveFormaPago33 = DdlFormaPago33.SelectedValue.ToEntero
|
||||
ObjFactura.FormaPago33 = If(DdlFormaPago33.SelectedValue.ToEntero > 0, DdlFormaPago33.SelectedItem.Text, "")
|
||||
ObjFactura.FormaPagoSAT33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", $"CveFormaPago = {DdlFormaPago33.SelectedValue}")
|
||||
|
||||
ObjFactura.CveUsoCFDI = DdlUsoCFDI.SelectedValue.ToEntero
|
||||
ObjFactura.UsoCFDI = If(DdlUsoCFDI.SelectedValue.ToEntero > 0, DdlUsoCFDI.SelectedItem.Text, "")
|
||||
ObjFactura.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", $"CveUsoCFDI = {DdlUsoCFDI.SelectedValue}")
|
||||
|
||||
ObjFactura.UsuarioCreo = LblUsuario.Text.Trim
|
||||
|
||||
ObjFactura.CveCondicionEntrega = If(DdlFormaEntrega.SelectedItem IsNot Nothing, DdlFormaEntrega.SelectedValue.ToEntero, -1)
|
||||
ObjFactura.CondicionEntrega = If(DdlFormaEntrega.SelectedItem IsNot Nothing, DdlFormaEntrega.SelectedItem.Text, "")
|
||||
ObjFactura.CondicionesPago = If(RBLPago.SelectedValue = "2", 0, If(RBLPago.SelectedValue = "1", 1, 2)) ' 0 - Contado, 1 - Credito, 2 - termianl
|
||||
ObjFactura.FormaPago = DdlFormaPago.SelectedValue.ToEntero
|
||||
|
||||
Select Case ObjFactura.TipoDocto
|
||||
Case "Ing"
|
||||
ObjFactura.TipoDocumento = "Factura"
|
||||
Case "Rem"
|
||||
ObjFactura.TipoDocumento = "Remision"
|
||||
Case "Cot"
|
||||
ObjFactura.TipoDocumento = "Cotizacion"
|
||||
Case "Egs"
|
||||
ObjFactura.TipoDocumento = "Nota de Crédito"
|
||||
Case "Dev"
|
||||
ObjFactura.TipoDocumento = "Nota de Devolución"
|
||||
Case Else
|
||||
ObjFactura.TipoDocumento = ""
|
||||
End Select
|
||||
|
||||
|
||||
ObjFactura.Fech1 = Now
|
||||
ObjFactura.Fech2 = Now
|
||||
ObjFactura.Fech3 = Now
|
||||
ObjFactura.Alfa1 = ""
|
||||
ObjFactura.Alfa2 = ""
|
||||
ObjFactura.Alfa3 = ""
|
||||
ObjFactura.Num1 = 0
|
||||
ObjFactura.Num2 = 0
|
||||
ObjFactura.Num3 = DdlOrdenPago.SelectedValue.ToDouble
|
||||
ObjFactura.FechaPago = TxtFechaPago.Text.ToDate
|
||||
|
||||
ObjFactura.CveCorte = CveCorte
|
||||
ObjFactura.CveMesa = -1
|
||||
ObjFactura.NumeroPersonas = 0
|
||||
ObjFactura.CveContrato = If(CveContrato > 0, CveContrato, CvePresupuesto)
|
||||
ObjFactura.CveClienteSucursal = DdlSucursalCliente.SelectedValue.ToEntero
|
||||
ObjFactura.Entrega = Entrega
|
||||
ObjFactura.Vigencia = Now
|
||||
|
||||
ObjFactura.CveVentaPadre = If(CveDevolucion > 0, CveDevolucion, CvePedido)
|
||||
ObjFactura.CveVendedor = DdlVendedor.SelectedValue.ToEntero
|
||||
If DdlVendedor.SelectedValue.ToEntero > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
|
||||
ObjFactura.FechaEjecucion = Now
|
||||
|
||||
ObjFactura.CveSucursalEjecucion = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.CveSucursalCobranza = -1
|
||||
|
||||
ObjFactura.CveSubProyecto = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.CveSubProyectoEjecucion = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.CveSubProyectoCobranza = -1
|
||||
|
||||
ObjFactura.AtencionA = If(ObjFactura.TipoDocto = "Cot", TxtAtencionA.Text, "-1")
|
||||
ObjFactura.MotivoDescuento = TxtMotivoDescuento.Text.Trim
|
||||
ObjFactura.Observaciones = TxtObsFact.Text.Trim
|
||||
ObjFactura.Det_OrdenCompra = ""
|
||||
ObjFactura.Det_FechaOrdenCompra = MinFecha.ToShortDateString
|
||||
ObjFactura.MonedaAbreviatura = ""
|
||||
|
||||
'Totales, Y se llena TmpDTImpuestos
|
||||
ObjFactura.SubTotal = TxtSubTotal.Text.ToDecimal
|
||||
ObjFactura.Descuento = LblDescuentos.Text.Trim.ToDecimal
|
||||
ObjFactura.Amortizacion = LblAmortizacion.Text.Trim.ToDecimal
|
||||
ObjFactura.IVA = TxtIVA.Text.ToDecimal
|
||||
ObjFactura.RetIVA = TxtRetIVA.Text.ToDecimal
|
||||
ObjFactura.RetISR = TxtRetISR.Text.ToDecimal
|
||||
ObjFactura.IEPS = TxtIEPS.Text.ToDecimal
|
||||
ObjFactura.Total = TxtTotal.Text.ToDecimal
|
||||
|
||||
ObjFactura.DtDeduccion = New DataTable
|
||||
|
||||
'OTROS
|
||||
ObjFactura.Det_FechaOrdenCompra = ""
|
||||
ObjFactura.Det_OrdenCompra = ""
|
||||
|
||||
ObjFactura.CveNCaVincular = DdlNCFactura.SelectedValue.ToEntero
|
||||
|
||||
If ObjFactura.CveMoneda <> 1 AndAlso ChkConvertirDoctoPesos.Checked Then
|
||||
ObjFactura.TipoCambio = TxtTipoCambio.Text.Trim.ToDecimal
|
||||
ObjFactura.CveMoneda = 1
|
||||
|
||||
ObjFactura.Moneda = "Pesos"
|
||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {ObjFactura.CveMoneda}")
|
||||
End If
|
||||
|
||||
If ObjFactura.CveMoneda <> 2 AndAlso ChkConvertirDolares.Checked Then
|
||||
ObjFactura.TipoCambio = TxtTipoCambioDlls.Text.Trim.ToDecimal
|
||||
ObjFactura.CveMoneda = 2
|
||||
|
||||
ObjFactura.Moneda = "Dólares"
|
||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {ObjFactura.CveMoneda}")
|
||||
End If
|
||||
|
||||
'Se agrega CveVenta -1
|
||||
For Each Row As DataRow In TmpDT.Rows
|
||||
Row("CveVenta") = ObjFactura.CveVenta
|
||||
Next
|
||||
|
||||
DtInv.AcceptChanges()
|
||||
|
||||
ObjFactura.DtInventario = DtInv.FiltraParametros("Seleccionado = 1")
|
||||
End If
|
||||
'DETALLES
|
||||
ObjFactura.DtDetalle = TmpDT
|
||||
ObjFactura.DtFirmas = DTmpF
|
||||
|
||||
ObjFactura.ServicioDomicilio = ChkServicioDomicilio.Checked
|
||||
'CLIENTE
|
||||
ObjFactura.CveCliente = CveCliente
|
||||
ObjFactura.SetCliente()
|
||||
|
||||
'VALIDA ENTREGA POR ADELANTADO
|
||||
If UsuarioActual.Empresa.Funcionalidad(145) = "1" Then
|
||||
'INCRUSTAMOS ALMACEN ENTREGA POR ADELANTADO CUANDO SEA REMISION Y NO TRAIGA ASIGNADO POR EL USUARIO
|
||||
If ObjFactura.CveAlmacenTraspasoDestino <= 0 And ObjFactura.TipoDocto = "Rem" Then
|
||||
If ObjFactura.ServicioDomicilio Then
|
||||
ObjFactura.CveAlmacenServicioDomicilio = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 29 AND CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}").ToString.ToEntero
|
||||
ObjFactura.DtInventario = TmpDT.Copy.FiltraParametros("CveTipoPS = 2")
|
||||
'SUCURSAL
|
||||
ObjFactura.CveSucursal = DdlSubProyectoDatos.SelectedValue.ToEntero
|
||||
ObjFactura.SetSubProyectoMatriz(Me)
|
||||
ObjFactura.SetSubProyecto(Me)
|
||||
ObjFactura.ClienteSucursal = New Modelos.SucursalModel
|
||||
ObjFactura.ClienteSucursal.NoExt = CliNoExt
|
||||
ObjFactura.ClienteSucursal.NoInt = CliNoInt
|
||||
ObjFactura.ClienteSucursal.Localidad = CliLocalidad
|
||||
ObjFactura.ClienteSucursal.Direccion = LblDireccion.Text
|
||||
ObjFactura.ClienteSucursal.Colonia = LblColonia.Text
|
||||
ObjFactura.ClienteSucursal.Municipio = LblCiudad.Text
|
||||
ObjFactura.ClienteSucursal.Estado = LblEstado.Text
|
||||
ObjFactura.ClienteSucursal.CP = LblCP.Text
|
||||
ObjFactura.ClienteSucursal.Pais = CliPais
|
||||
ObjFactura.ClienteSucursal.CorreoSucursal = CliCorreoCot.ToString
|
||||
ObjFactura.ClienteSucursal.TelefonoSucursal = LblTelefono.Text
|
||||
ObjFactura.ClienteSucursal.Sucursal = DdlSucursalCliente.SelectedItem.Text
|
||||
|
||||
ObjFactura.DtDetalle = TmpDT
|
||||
ObjFactura.DtPagos = DtPagos
|
||||
ObjFactura.DtPromociones = DtPromociones
|
||||
|
||||
Dim FM As New Modelos.FemsaFactura
|
||||
Dim TmpDT7Eleven As New DataTable
|
||||
Dim TmpDTComplementosTimbrado As New DataTable
|
||||
|
||||
PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
|
||||
|
||||
ObjFactura.FemsaFactura = FM
|
||||
|
||||
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
|
||||
|
||||
ObjFactura.DtAjustes = TmpDTAjustes
|
||||
|
||||
ObjFactura.DtRecepcionUsados = TmpDTRecepcionUsados
|
||||
|
||||
ObjFactura.DtPolizasVirtuales = TmpDTPolizaVirtual
|
||||
|
||||
ObjFactura.GenerarPDFFactura = False
|
||||
|
||||
Dim CveTipoAlmacen As Integer = If(TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0, 6, 22)
|
||||
If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen = {CveTipoAlmacen} AND CveSubProyecto= {DdlSubProyectoDatos.SelectedValue}").Rows.Count > 0 Then
|
||||
ObjFactura.CveAlmacenRecepcionUsados = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen = {CveTipoAlmacen} AND CveSubProyecto= {DdlSubProyectoDatos.SelectedValue}").Rows(0)("CveAlmacen").ToString.ToEntero
|
||||
End If
|
||||
|
||||
'If Not ddlAlmacen.SelectedValue.ToEntero > 0 AndAlso ddlAlmacen.Items.Count > 1 AndAlso UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" Then
|
||||
' ddlAlmacen.SelectedIndex = 1
|
||||
'End If
|
||||
|
||||
If ddlAlmacen.SelectedValue.ToEntero > 0 Then
|
||||
ObjFactura.CveAlmacen = ddlAlmacen.SelectedValue.ToEntero
|
||||
|
||||
If Not DtInv.Columns.Contains("Seleccionado") Then
|
||||
DtInv.Columns.Add("Seleccionado", GetType(Integer))
|
||||
End If
|
||||
|
||||
ObjFactura.CveAlmacenTraspasoDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 10 AND CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}").ToString.ToEntero
|
||||
For Each Gvr As GridViewRow In GvInv.Rows
|
||||
Dim Dr As DataRow = DtInv.Select($"CvePS={Gvr.DataKey("CvePS")}")(0)
|
||||
If Gvr.FCCheckBox("cbInv").Checked AndAlso ddlAlmacen.SelectedValue.ToEntero > 0 Then
|
||||
Dr("Seleccionado") = 1
|
||||
Else
|
||||
Dr("Seleccionado") = 0
|
||||
End If
|
||||
Next
|
||||
|
||||
DtInv.AcceptChanges()
|
||||
|
||||
ObjFactura.DtInventario = DtInv.FiltraParametros("Seleccionado = 1")
|
||||
End If
|
||||
|
||||
'SI LA SUCURSAL NO TIENE ENTREGA POR ADELANTADO
|
||||
If ObjFactura.CveAlmacenTraspasoDestino <= 0 And ObjFactura.TipoDocto = "Rem" Then
|
||||
ObjFactura.ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado de la sucursal.")
|
||||
ObjFactura.ServicioDomicilio = ChkServicioDomicilio.Checked
|
||||
|
||||
'VALIDA ENTREGA POR ADELANTADO
|
||||
If UsuarioActual.Empresa.Funcionalidad(145) = "1" Then
|
||||
'INCRUSTAMOS ALMACEN ENTREGA POR ADELANTADO CUANDO SEA REMISION Y NO TRAIGA ASIGNADO POR EL USUARIO
|
||||
If ObjFactura.CveAlmacenTraspasoDestino <= 0 And ObjFactura.TipoDocto = "Rem" Then
|
||||
If ObjFactura.ServicioDomicilio Then
|
||||
ObjFactura.CveAlmacenServicioDomicilio = ddlAlmacen.SelectedValue.ToEntero() 'GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 29 AND CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}").ToString.ToEntero
|
||||
|
||||
'PREPARA DT INVENTARIO
|
||||
Dim DtInv = TmpDT.Copy.FiltraParametros("CveTipoPS = 2")
|
||||
For Each GvRow As GridViewRow In GvInv.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
Dim filtro = DtInv.Select(String.Format("CvePS = {0} AND Consec = {1}", GvRow.DataKey("CvePS"), GvRow.DataKey("Consec")))
|
||||
If filtro IsNot Nothing AndAlso filtro.Length > 0 Then
|
||||
Dim Row = filtro(0)
|
||||
Row("Serie") = GvRow.FCTextBox("TxtSerie").Text.Trim
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
ObjFactura.DtInventario = DtInv
|
||||
End If
|
||||
|
||||
ObjFactura.CveAlmacenTraspasoDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 10 AND CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}").ToString.ToEntero
|
||||
|
||||
End If
|
||||
|
||||
'SI LA SUCURSAL NO TIENE ENTREGA POR ADELANTADO
|
||||
If ObjFactura.CveAlmacenTraspasoDestino <= 0 And ObjFactura.TipoDocto = "Rem" Then
|
||||
ObjFactura.ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado de la sucursal.")
|
||||
End If
|
||||
|
||||
'SI LA SUCURSAL NO TIENE SERVICIO A DOMICILIO
|
||||
If ObjFactura.ServicioDomicilio AndAlso ObjFactura.CveAlmacenServicioDomicilio <= 0 And ObjFactura.TipoDocto = "Rem" Then
|
||||
ObjFactura.ErrorList.Add("No existe un almacen configurado como 'Servicio a Domicilio' en esta sucursal.")
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'SI LA SUCURSAL NO TIENE SERVICIO A DOMICILIO
|
||||
If ObjFactura.ServicioDomicilio AndAlso ObjFactura.CveAlmacenServicioDomicilio <= 0 And ObjFactura.TipoDocto = "Rem" Then
|
||||
ObjFactura.ErrorList.Add("No existe un almacen configurado como 'Servicio a Domicilio' en esta sucursal.")
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al generar la venta", ex)
|
||||
If ObjFactura IsNot Nothing Then
|
||||
ObjFactura.Dispose()
|
||||
ObjFactura = Nothing
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
@@ -4133,6 +4173,8 @@ Partial Class PV
|
||||
CambiaSucursal()
|
||||
End If
|
||||
ObjSubProyectos.Dispose()
|
||||
|
||||
ChkServicioDomicilio_CheckedChanged(ChkServicioDomicilio, EventArgs.Empty)
|
||||
End Sub
|
||||
Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlTipoComprobante.SelectedIndexChanged
|
||||
CambiaTipoComprobante()
|
||||
@@ -4310,6 +4352,8 @@ Partial Class PV
|
||||
TmpDT.Columns.Add("EliminarDB", GetType(Boolean))
|
||||
TmpDT.Columns("EliminarDB").DefaultValue = False
|
||||
|
||||
TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CreaDTmpC()
|
||||
@@ -4346,6 +4390,8 @@ Partial Class PV
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim AplicaSerie = CBool(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("AplicaSerie"))
|
||||
|
||||
If TmpDT.FiltraParametros("AsientoContableVentas <> '" & AsientoContableVentas.ToString & "'").Rows.Count = 0 Then
|
||||
Dim Row As DataRow = Nothing
|
||||
Row = TmpDT.NewRow()
|
||||
@@ -4380,6 +4426,7 @@ Partial Class PV
|
||||
Row("SubProyecto") = SubProyecto
|
||||
Row("Serie") = Serie
|
||||
Row("TiempoEntrega") = TiempoEntrega
|
||||
Row("AplicaSerie") = AplicaSerie
|
||||
|
||||
TmpDT.Rows.Add(Row)
|
||||
GvPS.DataSource = TmpDT.FiltraParametros("EliminarDB = False")
|
||||
@@ -4596,6 +4643,7 @@ Partial Class PV
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento
|
||||
|
||||
If Modalidad = "A" Then
|
||||
@@ -4671,6 +4719,7 @@ Partial Class PV
|
||||
Row("CveVentaDetallePedido2") = CveVentaDetallePedido2
|
||||
Row("CuentaPredial") = CuentaPredial
|
||||
Row("EsCargo") = EsCargo
|
||||
Row("AplicaSerie") = DrPS("AplicaSerie")
|
||||
|
||||
If EsCargo AndAlso ConsecPSPadre >= 0 Then
|
||||
Row("ConsecPSPadre") = ConsecPSPadre
|
||||
@@ -5036,6 +5085,8 @@ Partial Class PV
|
||||
End If
|
||||
End If
|
||||
Me.CveVentaDetalle = -1
|
||||
|
||||
UpAgregar.Update()
|
||||
End Sub
|
||||
Private Function AgregarPS() As Boolean
|
||||
Dim CveVentaDetalle As Integer = Me.CveVentaDetalle
|
||||
@@ -5278,6 +5329,8 @@ Partial Class PV
|
||||
DtInv = TmpDT.Copy.FiltraParametros("CveTipoPS = 2")
|
||||
CargaGVInv(DtInv)
|
||||
|
||||
ChkServicioDomicilio_CheckedChanged(ChkServicioDomicilio, EventArgs.Empty)
|
||||
|
||||
UpContado.Update()
|
||||
UpPS.Update()
|
||||
RegistraScript("BorraDescuentos();", "BorraDescuentos")
|
||||
@@ -5864,24 +5917,23 @@ Partial Class PV
|
||||
|
||||
Dim Index = Row.RowIndex
|
||||
Dim ObjInventarios As New ClsInventarios
|
||||
Dim Existencia = ObjInventarios.GetExistenciasPSSerie("", ddlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
|
||||
Dim ExistenciaActual = DtInv.SUM("Cantidad", String.Format("Serie = '{0}'", Row.FCTextBox("TxtSerie").Text.ToString))
|
||||
Dim Existencia = ObjInventarios.GetExistenciasPSSerie(Row.FCTextBox("TxtSerie").Text.ToString.Trim, ddlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
|
||||
ObjInventarios.Dispose()
|
||||
|
||||
'Valida Existencia
|
||||
If Existencia - ExistenciaActual <= 0 Then
|
||||
If Existencia <= 0 Then
|
||||
Alert(String.Format("Not hay existencia suficiente del producto con la Serie: <b>{0}</b>. Por favor rectifique y vuelva a intentar", Row.FCTextBox("TxtSerie").Text.ToString), TipoMensaje.MsgAdvertencia)
|
||||
Row.FCTextBox("TxtSerie").Text = ""
|
||||
Row.FCHiddenField("HdnSerie").Value = ""
|
||||
TmpDT.Rows(Index)("Serie") = ""
|
||||
DtInv.Rows(Index)("Serie") = ""
|
||||
Else
|
||||
Row.FCHiddenField("HdnSerie").Value = Row.FCTextBox("TxtSerie").Text
|
||||
TmpDT.Rows(Index)("Serie") = Row.FCTextBox("TxtSerie").Text
|
||||
DtInv.Rows(Index)("Serie") = Row.FCTextBox("TxtSerie").Text
|
||||
End If
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
DtInv = TmpDT.Copy.FiltraParametros("CveTipoPS = 2")
|
||||
DtInv.AcceptChanges()
|
||||
|
||||
|
||||
ObjInventarios.Dispose()
|
||||
End Sub
|
||||
|
||||
Private Function ValidaSerieINV() As Boolean
|
||||
@@ -7813,11 +7865,49 @@ Partial Class PV
|
||||
Response.Redirect($"~/Ventas/PV.aspx")
|
||||
End Sub
|
||||
Protected Sub DdlRecepcionUsados_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
Dim DrTamanio As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CvePSCargo = {DdlRecepcionUsados.SelectedValue}")
|
||||
|
||||
DdlBCIUsado.DataSource = DTBCIUsados.FiltraParametros(String.Format("CveTamaño = {0}", DrTamanio("CveTamaño")))
|
||||
If DdlRecepcionUsados.SelectedValue.ToEntero() > 0 Then
|
||||
Dim DrTamanio As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CvePSCargo = {DdlRecepcionUsados.SelectedValue}")
|
||||
DdlBCIUsado.DataSource = DTBCIUsados.FiltraParametros(String.Format("CveTamaño = {0}", DrTamanio("CveTamaño")))
|
||||
Else
|
||||
DdlBCIUsado.Items.Clear()
|
||||
DdlBCIUsado.DataSource = Nothing
|
||||
End If
|
||||
DdlBCIUsado.DataBind()
|
||||
|
||||
UpModalVenta.Update()
|
||||
UpAddVenta.Update()
|
||||
End Sub
|
||||
Protected Sub ChkServicioDomicilio_CheckedChanged(sender As Object, e As EventArgs)
|
||||
If ChkServicioDomicilio.Checked Then
|
||||
PreparaServicioDomicilio()
|
||||
Else
|
||||
ddlAlmacen.Items.Clear()
|
||||
ddlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyectoDatos.SelectedValue.ToEntero}")
|
||||
ddlAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
|
||||
ddlAlmacen.DataBind()
|
||||
If GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyectoDatos.SelectedValue.ToEntero}").Rows.Count > 0 Then
|
||||
ddlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
|
||||
End If
|
||||
|
||||
For Each GvRow As GridViewRow In GvInv.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
GvRow.FCCheckBox("cbInv").Enabled = True
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
UpINV.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub PreparaServicioDomicilio()
|
||||
ddlAlmacen.Items.Clear()
|
||||
ddlAlmacen.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=29).FiltraParametros($"CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}")
|
||||
ddlAlmacen.DataBind()
|
||||
|
||||
For Each GvRow As GridViewRow In GvInv.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
GvRow.FCCheckBox("cbInv").Checked = True
|
||||
GvRow.FCCheckBox("cbInv").Enabled = False
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -2178,6 +2178,40 @@
|
||||
|
||||
<asp:Literal ID="LtlScripts" runat="server"></asp:Literal>
|
||||
<%-- FIN MODAL PS ADICIONALES --%>
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UPModalMensaje" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div id="DivModalMensaje" class="modal fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header-warning">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">
|
||||
<asp:Label ID="LblModalMensaje" runat="server" ClientIDMode="Static" Text="Atención"></asp:Label></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:Label ID="LblModalMensajeCuerpo" runat="server" ClientIDMode="Static" Text="Atención"></asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnmodalMensajeOK" runat="server" Text="Guardar" CssClass="btn btn-sm blue" OnClick="BtnmodalMensajeOK_Click" />
|
||||
<asp:Button ID="BtnCerrarModalMensace" runat="server" Text="Corregir" CssClass="btn btn-sm green" data-dismiss="modal" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||
|
||||
|
||||
@@ -148,6 +148,29 @@ Partial Class ProductosyServicios
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "Material peligroso"
|
||||
|
||||
Property ValidaMaterialPeligrosoMensaje As Boolean
|
||||
Get
|
||||
|
||||
If ViewState("ValidaMaterialPeligroso") Is Nothing Then
|
||||
ViewState("ValidaMaterialPeligroso") = False
|
||||
End If
|
||||
|
||||
Return Boolean.Parse(ViewState("ValidaMaterialPeligroso").ToString)
|
||||
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("ValidaMaterialPeligroso") = value
|
||||
End Set
|
||||
|
||||
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
|
||||
@@ -1213,6 +1236,15 @@ Partial Class ProductosyServicios
|
||||
End Sub
|
||||
Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click
|
||||
|
||||
|
||||
If DdlSATPS.txtValue.Value.ToEntero > 0 Then
|
||||
If Not ValidaMaterialPeligrosoMensaje Then
|
||||
ValidaMaterialPeligroso(DdlSATPS.txtValue.Value.ToEntero)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If DdlSATPS.SelectedValue.Contiene("46920", "0", "-1") AndAlso UsuarioActual.CveEmpresa.Contiene(119, 158, 72, 80, 145) Then
|
||||
Alert("El Producto Servicio SAT con clave '01010101' no es valido, por favor seleccione otro", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
@@ -3045,4 +3077,76 @@ Partial Class ProductosyServicios
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Sub ValidaMaterialPeligroso(CveSATPS As Integer)
|
||||
|
||||
Dim EsPeligroso As Boolean = False
|
||||
|
||||
Dim ObjGrales As New ClsGenerales
|
||||
|
||||
|
||||
If ObjGrales.GetSATProductosServicios(CveSATPS:=CveSATPS) Then
|
||||
|
||||
Dim DTDatos As New DataTable
|
||||
DTDatos = ObjGrales.DtResultados.FiltraParametros($" CveSATPS= {CveSATPS}")
|
||||
|
||||
|
||||
|
||||
'Es material Peligros
|
||||
If DTDatos.Rows(0)("EsPeligroso").ToString.ToEntero = 1 Then
|
||||
|
||||
If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 And DdlEmbalaje.txtValue.Value.ToEntero > 0 And TxtPesoKg.Text.Trim.Length > 0 Then
|
||||
ValidaMaterialPeligrosoMensaje = True
|
||||
Else
|
||||
|
||||
RegistraScript("$('#DivModalMensaje').modal('show');")
|
||||
ValidaMaterialPeligrosoMensaje = False
|
||||
LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado esta clasificado como material peligroso, favor de llenar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios."
|
||||
UPModalMensaje.Update()
|
||||
End If
|
||||
|
||||
Else
|
||||
'No es matgerial peligroso
|
||||
|
||||
If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 Or DdlEmbalaje.txtValue.Value.ToEntero > 0 Or TxtPesoKg.Text.Trim.Length > 0 Then
|
||||
RegistraScript("$('#DivModalMensaje').modal('show');")
|
||||
ValidaMaterialPeligrosoMensaje = False
|
||||
LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado no esta clasificado como material peligroso, favor de limpiar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios, el incluir estos datos en un material no peligroso generara errores al timbrar traslados."
|
||||
UPModalMensaje.Update()
|
||||
|
||||
Else
|
||||
ValidaMaterialPeligrosoMensaje = True
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
ObjGrales.Dispose()
|
||||
|
||||
|
||||
|
||||
'Return Respuesta
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnmodalMensajeOK_Click(sender As Object, e As EventArgs)
|
||||
|
||||
ValidaMaterialPeligrosoMensaje = True
|
||||
RegistraScript("$('#DivPersonalizar').modal('hide');")
|
||||
|
||||
BtnGuardar_Click(Nothing, Nothing)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -3341,7 +3341,7 @@
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<asp:DropDownList ID="DdlCuentaEfectivo" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="100%"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVCuenta" runat="server" ControlToValidate="DdlCuentaEfectivo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="RFVCuenta" runat="server" ClientValidationFunction="ValidaCuentaEfectivo" ControlToValidate="DdlCuentaEfectivo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:CustomValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOCuenta" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuenta" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3349,7 +3349,7 @@
|
||||
|
||||
<div class="chequesie1">
|
||||
<div class="row">
|
||||
<label class="col-md-2">Credito:</label>
|
||||
<label class="col-md-2">Crédito:</label>
|
||||
<div class="col-md-4 input-icon">
|
||||
<i style="margin: 0px;">$</i>
|
||||
<asp:TextBox ID="TxtImporteCredito" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
||||
@@ -3357,7 +3357,7 @@
|
||||
</div>
|
||||
<div class="col-md-6" runat="server" id="DivDdlCuentaTarjetaCredito" style="margin-right: -40px">
|
||||
<asp:DropDownList ID="DdlCuentaTarjetaCredito" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="100%"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DdlCuentaTarjetaCredito" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="RequiredFieldValidator1" runat="server" ClientValidationFunction="ValidaCuentaCredito" ControlToValidate="DdlCuentaTarjetaCredito" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:CustomValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<div class="col-md-3" runat="server" id="DivMesesSinIntereses" visible="false" style="text-align: right;">
|
||||
@@ -3377,7 +3377,7 @@
|
||||
|
||||
<div class="chequesie1">
|
||||
<div class="row">
|
||||
<label class="col-md-2">Debito:</label>
|
||||
<label class="col-md-2">Débito:</label>
|
||||
<div class="col-md-4 input-icon">
|
||||
<i style="margin: 0px;">$</i>
|
||||
<asp:TextBox ID="TxtImporteDebito" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
||||
@@ -3385,7 +3385,7 @@
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<asp:DropDownList ID="DdlCuentaTarjetaDebito" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="100%"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="DdlCuentaTarjetaDebito" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="RequiredFieldValidator4" runat="server" ClientValidationFunction="ValidaCuentaDebito" ControlToValidate="DdlCuentaTarjetaDebito" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:CustomValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender9" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator4" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3400,7 +3400,7 @@
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<asp:DropDownList ID="DdlCuentaCheque" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="100%"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="DdlCuentaCheque" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="RequiredFieldValidator3" runat="server" ClientValidationFunction="ValidaCuentaCheque" ControlToValidate="DdlCuentaCheque" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:CustomValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender11" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator3" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3416,7 +3416,7 @@
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<asp:DropDownList ID="DdlCuentaTransferencia" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="100%"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVTransferencia" runat="server" ControlToValidate="DdlCuentaTransferencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="RFVTransferencia" runat="server" ClientValidationFunction="ValidaCuentaTransferencia" ControlToValidate="DdlCuentaTransferencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAgregarPago"></asp:CustomValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCETransferencia" runat="server" HighlightCssClass="vco" TargetControlID="RFVTransferencia" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3480,6 +3480,8 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<asp:HiddenField ID="HdnCambioFaltante" runat="server" Value="1" ClientIDMode="Static" />
|
||||
<%--<asp:HiddenField ID="HdnPagadoContado" runat="server" Value="0" ClientIDMode="Static" />--%>
|
||||
</div>
|
||||
<label id="lblCambio" class="col-md-2">Cambio:</label>
|
||||
<div class="col-md-4 input-icon">
|
||||
@@ -7749,6 +7751,7 @@
|
||||
<asp:ListItem Value="1" Text="Importe"></asp:ListItem>
|
||||
<asp:ListItem Value="2" Text="Vencimiento"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVTipoAut" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlTipoAutorizacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlTipoAutorizacion.ClientID.ToString()%>">Tipo Autorización:</label>
|
||||
</div>
|
||||
<div id="DivDiasVencidos" runat="server" visible="false" class="row">
|
||||
@@ -7836,6 +7839,61 @@
|
||||
$("#BtnDirClienteValidar").click();
|
||||
}
|
||||
|
||||
function ValidaCuentaEfectivo(val, args) {
|
||||
//VALIDA SOLO SI EL IMPORTE ES MAYOR A CERO
|
||||
var totalPago = ToDouble($get("TxtImporteEfectivo").value);
|
||||
if (totalPago > 0) {
|
||||
args.IsValid = (ToDouble(args.Value) > 0);
|
||||
}else
|
||||
{
|
||||
args.IsValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
function ValidaCuentaCredito(val, args) {
|
||||
//VALIDA SOLO SI EL IMPORTE ES MAYOR A CERO
|
||||
var totalPago = ToDouble($get("TxtImporteCredito").value);
|
||||
if (totalPago > 0) {
|
||||
args.IsValid = (ToDouble(args.Value) > 0);
|
||||
}else
|
||||
{
|
||||
args.IsValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
function ValidaCuentaDebito(val, args) {
|
||||
//VALIDA SOLO SI EL IMPORTE ES MAYOR A CERO
|
||||
var totalPago = ToDouble($get("TxtImporteDebito").value);
|
||||
if (totalPago > 0) {
|
||||
args.IsValid = (ToDouble(args.Value) > 0);
|
||||
}else
|
||||
{
|
||||
args.IsValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
function ValidaCuentaCheque(val, args) {
|
||||
//VALIDA SOLO SI EL IMPORTE ES MAYOR A CERO
|
||||
var totalPago = ToDouble($get("TxtImporteCheque").value);
|
||||
if (totalPago > 0) {
|
||||
args.IsValid = (ToDouble(args.Value) > 0);
|
||||
}else
|
||||
{
|
||||
args.IsValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
function ValidaCuentaTransferencia(val, args) {
|
||||
//VALIDA SOLO SI EL IMPORTE ES MAYOR A CERO
|
||||
var totalPago = ToDouble($get("TxtImporteTransferencia").value);
|
||||
if (totalPago > 0) {
|
||||
args.IsValid = (ToDouble(args.Value) > 0);
|
||||
}else
|
||||
{
|
||||
args.IsValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
//FUNCIONES PARA COMERCIO EXTERIOR
|
||||
function CalculaTotalUSD(TotalUSD, ValorUnitario, TxtCantidad) {
|
||||
TotalUSD.innerText = FormatoNumero(ToDouble(ValorUnitario.value) * ToDouble(TxtCantidad.value), 2);
|
||||
@@ -8868,14 +8926,16 @@
|
||||
} catch (e) { }
|
||||
|
||||
var total = totalEfectivo + totalCredito + totalDebito + totalCheque + totalTransferencia + TotalOtrosContado + totalRNC + totalAmortizado + totalProntoPago;
|
||||
var totalVenta = ToDouble($get('TxtTotal').value);
|
||||
var totalVenta = ToDouble($get('TxtTotal').value);// - ToDouble($get('HdnPagadoContado').value);
|
||||
|
||||
if (total > totalVenta) {
|
||||
lblCambio.innerHTML = "Cambio:"
|
||||
lblCambio.innerHTML = "Cambio:";
|
||||
HdnCambioFaltante.value = "1";
|
||||
$get("TxtCambio").value = FormatoNumero(total - totalVenta);
|
||||
} else {
|
||||
if ('<%= UsuarioActual.Empresa.Funcionalidad(531) %>' == '1') {
|
||||
lblCambio.innerHTML = "Faltante:"
|
||||
lblCambio.innerHTML = "Faltante:";
|
||||
HdnCambioFaltante.value = "2";
|
||||
$get("TxtCambio").value = FormatoNumero(total - totalVenta, 2);
|
||||
} else {
|
||||
$get("TxtCambio").value = "$0.00"
|
||||
|
||||
@@ -1869,6 +1869,24 @@ Partial Class Ventas
|
||||
ViewState("CveEstatusCotizacion") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property CveMetodoPago33Venta As Integer
|
||||
Get
|
||||
Return (IfNull(ViewState("CveMetodoPago33Venta"), "-1", ViewState("CveMetodoPago33Venta"))).ToString().ToEntero()
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveMetodoPago33Venta") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property CveFormaPago33Venta As Integer
|
||||
Get
|
||||
Return (IfNull(ViewState("CveFormaPago33Venta"), "-1", ViewState("CveFormaPago33Venta"))).ToString().ToEntero()
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveFormaPago33Venta") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property DiasCredito As Integer
|
||||
Get
|
||||
Return ViewState("DiasCredito").ToString().ToEntero()
|
||||
@@ -4551,6 +4569,9 @@ Partial Class Ventas
|
||||
DdlMetodoPago33.SelectedValueExist(DbRowVenta("CveMetodoPago33").ToString())
|
||||
DdlFormaPago33.SelectedValueExist(DbRowVenta("CveFormaPago33").ToString().ToEntero())
|
||||
|
||||
Me.CveMetodoPago33Venta = DbRowVenta("CveMetodoPago33").ToString().ToEntero()
|
||||
Me.CveFormaPago33Venta = DbRowVenta("CveFormaPago33").ToString().ToEntero()
|
||||
|
||||
If DdlFormaPago33.SelectedValue <> DbRowVenta("CveFormaPago33").ToString() And DbRowVenta("CveFormaPago33").ToString() <> "" Then
|
||||
'sino está seleccionada la asginada la debe de cargar
|
||||
Dim Nombre As String = GlobalDTVtaFormaPago().FiltroPrimeroValor("FormaPagoSAT", String.Format("CveFormaPago={0}", DbRowVenta("CveFormaPago33")))
|
||||
@@ -6382,8 +6403,10 @@ Partial Class Ventas
|
||||
If Not EsCreaApartirDe AndAlso (DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0) Then
|
||||
DdlTipoComprobante.SelectedValueExist("Cot")
|
||||
Else
|
||||
DdlTipoComprobante.SelectedValueExistInsert("PA", "Autorización")
|
||||
DdlTipoComprobante.SelectedValue = "PA"
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) <> "1" Then
|
||||
DdlTipoComprobante.SelectedValueExistInsert("PA", "Autorización")
|
||||
DdlTipoComprobante.SelectedValue = "PA"
|
||||
End If
|
||||
End If
|
||||
|
||||
TxtFechaPago.Text = Now.AddDays(PlazoCobranza).ToShortDateString
|
||||
@@ -6391,14 +6414,17 @@ Partial Class Ventas
|
||||
If IfNull(Request("Op"), "").ToString() = "Cot" OrElse (DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0) Then DdlTipoComprobante.SelectedValue = "Cot"
|
||||
|
||||
'quito remisión y factura
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ing"))
|
||||
If Not UsuarioActual.TienePermisoProceso(325) Then
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant"))
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) <> "1" Then
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ing"))
|
||||
If Not UsuarioActual.TienePermisoProceso(325) Then
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant"))
|
||||
End If
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Rem"))
|
||||
End If
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Rem"))
|
||||
|
||||
|
||||
'SI ES AUTORIZACION DEBE PERMITIR GENERARLA
|
||||
If (Not DdlTipoComprobante.SelectedValue.Contiene("PA")) Then
|
||||
If (Not DdlTipoComprobante.SelectedValue.Contiene("PA")) AndAlso UsuarioActual.Empresa.Funcionalidad(531) <> "1" Then
|
||||
BtnEmitirImprimir.Visible = False
|
||||
BtnsFacturar.Visible = False
|
||||
LBFacturarAnticipo.Visible = UsuarioActual.TienePermisoProceso(274)
|
||||
@@ -6434,7 +6460,7 @@ Partial Class Ventas
|
||||
'GENERAR AUTORIZACION SI TIENE EXCEDIO EL LIMITE DE CREDITO
|
||||
Select Case ValorAutorizacion
|
||||
Case "1" 'CREAR DOCUMENTO DE AUTORIZACION PA
|
||||
If Not UsuarioActual.TienePermisoProceso(268) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "Ant", "PA") AndAlso Not (UsuarioActual.Empresa.Funcionalidad(702).Contiene("2")) Then
|
||||
If Not UsuarioActual.TienePermisoProceso(268) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "Ant", "PA") AndAlso Not (UsuarioActual.Empresa.Funcionalidad(702).Contiene("2")) AndAlso UsuarioActual.Empresa.Funcionalidad(531) <> "1" Then
|
||||
|
||||
'VERIFICAR CANDADOS DE VENTA, REMISIONES SIN FACTURAR, FACTURAS QUE NO TENGAN VENCIDAS
|
||||
Dim Vta As New ClsVentas
|
||||
@@ -7830,8 +7856,91 @@ Partial Class Ventas
|
||||
ObjContrato.Dispose()
|
||||
End If
|
||||
|
||||
Me.CveAutorizacion = -1
|
||||
'SI ES A CREDITO DEBE VERIFICAR SI TIENE AUTORIZACIONES
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso CveCliente > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Egs") AndAlso RBLPago.SelectedValue = "1" Then
|
||||
Dim TipoDocumentoAutorizacion As String = ""
|
||||
Dim ImporteAutorizacion As Decimal = 0
|
||||
Dim TipoAutorizacion As Integer = 0
|
||||
Dim DiasVencidosAutorizacion As Integer = 0
|
||||
Dim CveVendedor As Integer = DdlVendedor.SelectedValue.ToEntero()
|
||||
Dim ObjVentas As New ClsVentas
|
||||
Try
|
||||
If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, CveVendedor, CveEstatus:=1) Then
|
||||
Dim RowAutorizacion As DataRow = Nothing
|
||||
'SI TIENE DIAS VENCIDOS BUSCAR POR TIPO VENCIMIENTO
|
||||
If TieneDiasVencidos Then
|
||||
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion IN(1,2) AND CveVenta IS NULL AND CveTipoDocumento='{DdlTipoComprobante.SelectedValue}'", Orderby:="Importe DESC")
|
||||
Else
|
||||
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion = 1 AND CveVenta IS NULL AND CveTipoDocumento='{DdlTipoComprobante.SelectedValue}'", Orderby:="Importe DESC")
|
||||
End If
|
||||
|
||||
If RowAutorizacion IsNot Nothing Then
|
||||
TipoDocumentoAutorizacion = RowAutorizacion("CveTipoDocumento").ToString()
|
||||
ImporteAutorizacion = RowAutorizacion("Importe").ToString().ToDecimal()
|
||||
CveAutorizacion = RowAutorizacion("CveAutorizacion").ToString().ToEntero()
|
||||
TipoAutorizacion = RowAutorizacion("TipoAutorizacion").ToString().ToEntero()
|
||||
DiasVencidosAutorizacion = RowAutorizacion("DiasVencidos").ToString().ToEntero()
|
||||
End If
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener las autorizaciones", ex)
|
||||
End Try
|
||||
ObjVentas.Dispose()
|
||||
|
||||
If TipoDocumentoAutorizacion = "Ing" Then
|
||||
If TipoAutorizacion = 1 Then
|
||||
If ImporteAutorizacion < TxtTotal.Text.ToDecimal() Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito autorizado es insuficiente. Crédito Disponible:{ImporteAutorizacion:N2}", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If TieneDiasVencidos Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito no esta autorizado. El cliente tiene días vencidos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
'If TipoAutorizacion = 2 Then
|
||||
' If DiasVencidosCliente > DiasVencidosAutorizacion Then
|
||||
' CveAutorizacion = -1
|
||||
' Alert($"El crédito no esta autorizado. Los días vencidos del cliente son mayores a lo autorizado", TipoMensaje.MsgAdvertencia)
|
||||
' Exit Sub
|
||||
' End If
|
||||
'End If
|
||||
|
||||
'SI NO SE ENCONTRO NINGUA AUTORIZACION
|
||||
If TipoAutorizacion = 0 Then
|
||||
If TieneDiasVencidos Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito no esta autorizado. El cliente tiene días vencidos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If TieneDiasVencidos AndAlso DdlTipoComprobante.SelectedValue = "Egs" AndAlso CveAutorizacion <= 0 Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito no esta autorizado. No tiene autorización para generar notas de crédito. El cliente tiene días vencidos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If TipoDocumentoAutorizacion = "Egs" Then
|
||||
If TipoAutorizacion = 1 Then
|
||||
If ImporteAutorizacion < TxtTotal.Text.ToDecimal() Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito autorizado es insuficiente. Crédito Disponible:{ImporteAutorizacion:N2}", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
'No exceder el limite de credito, Si no tiene contrato limita el credito, si tiene no hace nada. Si no tiene remisiones tampoco hace nada.
|
||||
If (Not CveContrato > 0 Or CveContratoTipo.Contiene(28)) AndAlso (Not NuevaFactura = 1) AndAlso RBLPago.SelectedValue = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") AndAlso RemisionesLista.Count <= 0 AndAlso TxtTotal.Text.ToDecimal > 0 AndAlso Not CvePedidoA > 0 Then
|
||||
If Me.CveAutorizacion <= 0 AndAlso (Not CveContrato > 0 Or CveContratoTipo.Contiene(28)) AndAlso (Not NuevaFactura = 1) AndAlso RBLPago.SelectedValue = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") AndAlso RemisionesLista.Count <= 0 AndAlso TxtTotal.Text.ToDecimal > 0 AndAlso Not CvePedidoA > 0 Then
|
||||
'If UsuarioActual.Empresa.Funcionalidad(518) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(185) Then
|
||||
|
||||
If Not UsuarioActual.Empresa.Funcionalidad(702) = "1" Then
|
||||
@@ -8085,90 +8194,6 @@ Partial Class Ventas
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Me.CveAutorizacion = -1
|
||||
'SI ES A CREDITO DEBE VERIFICAR SI TIENE AUTORIZACIONES
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso CveCliente > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Egs") AndAlso RBLPago.SelectedValue = "1" Then
|
||||
Dim TipoDocumentoAutorizacion As String = ""
|
||||
Dim ImporteAutorizacion As Decimal = 0
|
||||
Dim TipoAutorizacion As Integer = 0
|
||||
Dim DiasVencidosAutorizacion As Integer = 0
|
||||
Dim CveVendedor As Integer = DdlVendedor.SelectedValue.ToEntero()
|
||||
Dim ObjVentas As New ClsVentas
|
||||
Try
|
||||
If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, CveVendedor, CveEstatus:=1) Then
|
||||
Dim RowAutorizacion As DataRow = Nothing
|
||||
'SI TIENE DIAS VENCIDOS BUSCAR POR TIPO VENCIMIENTO
|
||||
If TieneDiasVencidos Then
|
||||
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion = 2 AND CveVenta IS NULL AND CveTipoDocumento='{DdlTipoComprobante.SelectedValue}'")
|
||||
Else
|
||||
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion = 1 AND CveVenta IS NULL AND CveTipoDocumento='{DdlTipoComprobante.SelectedValue}'", Orderby:="Importe DESC")
|
||||
End If
|
||||
|
||||
If RowAutorizacion IsNot Nothing Then
|
||||
TipoDocumentoAutorizacion = RowAutorizacion("CveTipoDocumento").ToString()
|
||||
ImporteAutorizacion = RowAutorizacion("Importe").ToString().ToDecimal()
|
||||
CveAutorizacion = RowAutorizacion("CveAutorizacion").ToString().ToEntero()
|
||||
TipoAutorizacion = RowAutorizacion("TipoAutorizacion").ToString().ToEntero()
|
||||
DiasVencidosAutorizacion = RowAutorizacion("DiasVencidos").ToString().ToEntero()
|
||||
End If
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener las autorizaciones", ex)
|
||||
End Try
|
||||
ObjVentas.Dispose()
|
||||
|
||||
If TipoDocumentoAutorizacion = "Ing" Then
|
||||
If TipoAutorizacion = 1 Then
|
||||
If ImporteAutorizacion < TxtTotal.Text.ToDecimal() Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito autorizado es insuficiente. Crédito Disponible:{ImporteAutorizacion:N2}", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If TieneDiasVencidos Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito no esta autorizado. El cliente tiene días vencidos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
'If TipoAutorizacion = 2 Then
|
||||
' If DiasVencidosCliente > DiasVencidosAutorizacion Then
|
||||
' CveAutorizacion = -1
|
||||
' Alert($"El crédito no esta autorizado. Los días vencidos del cliente son mayores a lo autorizado", TipoMensaje.MsgAdvertencia)
|
||||
' Exit Sub
|
||||
' End If
|
||||
'End If
|
||||
|
||||
'SI NO SE ENCONTRO NINGUA AUTORIZACION
|
||||
If TipoAutorizacion = 0 Then
|
||||
If TieneDiasVencidos Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito no esta autorizado. El cliente tiene días vencidos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If TieneDiasVencidos AndAlso DdlTipoComprobante.SelectedValue = "Egs" AndAlso CveAutorizacion <= 0 Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito no esta autorizado. No tiene autorización para generar notas de crédito. El cliente tiene días vencidos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If TipoDocumentoAutorizacion = "Egs" Then
|
||||
If TipoAutorizacion = 1 Then
|
||||
If ImporteAutorizacion < TxtTotal.Text.ToDecimal() Then
|
||||
CveAutorizacion = -1
|
||||
Alert($"El crédito autorizado es insuficiente. Crédito Disponible:{ImporteAutorizacion:N2}", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
EmitirImprimirNew(TipoDoctoViejo)
|
||||
|
||||
End Sub
|
||||
@@ -8487,7 +8512,7 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
'SI ES AMORTIZACION 3.3
|
||||
Dim Obj2 As New List(Of Object)
|
||||
Dim ListaNotasCreditoGeneradas As New List(Of Modelos.Factura)
|
||||
Dim NCDescuento As Boolean = ((ListaNCDesc IsNot Nothing AndAlso ListaNCDesc.Count > 0) OrElse (ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0))
|
||||
If ErrorList.Count = 0 Then
|
||||
' cambiar la condicion para saber si hay seleccionado
|
||||
@@ -8509,7 +8534,7 @@ Partial Class Ventas
|
||||
CreaObjetosVentaAmortizacion(ObjVentas, FolioFiscalRelacionado, CveVentaRelacionada, NCDescuento:=NCDescuento)
|
||||
If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaDevolucion, ObjBancos, Nothing,
|
||||
Nothing, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDesc, IndexNC:=(If(DtVentasNC IsNot Nothing, DtVentasNC.Rows.Count - 1, 0))) Then
|
||||
Obj2.Add(ObjFacturaDevolucion)
|
||||
ListaNotasCreditoGeneradas.Add(ObjFacturaDevolucion)
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -8522,7 +8547,7 @@ Partial Class Ventas
|
||||
CreaObjetosVentaBonificacion(ObjVentas, FolioFiscalRelacionado, CveVentaRelacionada, NCDescuento:=NCDescuento)
|
||||
If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaBonificacion, ObjBancos, Nothing,
|
||||
Nothing, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCBonificacion, IndexNC:=(DtVentasNC.Rows.Count - 1)) Then
|
||||
Obj2.Add(ObjFacturaBonificacion)
|
||||
ListaNotasCreditoGeneradas.Add(ObjFacturaBonificacion)
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -8531,7 +8556,7 @@ Partial Class Ventas
|
||||
OnError("Ocurrió un error al generar nota de crédito de amortización", ex)
|
||||
ErrorList.Add("No se pudo generar la nota de crédito de amortización")
|
||||
End Try
|
||||
If Obj2 Is Nothing AndAlso Obj2.Count = 0 Then
|
||||
If ListaNotasCreditoGeneradas Is Nothing AndAlso ListaNotasCreditoGeneradas.Count = 0 Then
|
||||
ErrorList.Add("No se pudo generar la nota de crédito de amortización")
|
||||
End If
|
||||
End If
|
||||
@@ -8558,7 +8583,7 @@ Partial Class Ventas
|
||||
CveVentaNCProntoPago = RespFacturaProntoPago.Mensaje.CveVenta
|
||||
SerieFolioNCProntoPago = RespFacturaProntoPago.Mensaje.SerieFolio
|
||||
|
||||
Obj2.Add(RespFacturaProntoPago.ObjFacturaProntoPago)
|
||||
ListaNotasCreditoGeneradas.Add(RespFacturaProntoPago.ObjFacturaProntoPago)
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
@@ -8749,7 +8774,7 @@ Partial Class Ventas
|
||||
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso (UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1) Then
|
||||
|
||||
'FACTURA INGRESO/EGRESO
|
||||
Dim ObjTimbrado As New Timbrado
|
||||
|
||||
Dim FM As New Modelos.FemsaFactura
|
||||
Dim TmpDT7Eleven As New DataTable
|
||||
Dim TmpDTComplementosTimbrado As New DataTable
|
||||
@@ -8760,34 +8785,35 @@ Partial Class Ventas
|
||||
|
||||
'DOCUMENTO ACTUAL
|
||||
If DebeTimbrar Then
|
||||
|
||||
Dim ObjTimbrado As New Timbrado
|
||||
SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
|
||||
Dim FolioFiscalFactura As String = ObjTimbrado.UUID
|
||||
Dim MsgErrorTimbrado = ObjTimbrado.MensajeErrorCFDI
|
||||
ObjTimbrado = Nothing
|
||||
|
||||
|
||||
'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION
|
||||
If Not GeneroDescuentoProntoPago AndAlso Not IsNothing(Obj2) AndAlso Obj2.Count > 0 AndAlso SeTimbro Then
|
||||
Dim ofa As Modelos.Factura = CType(Obj2(0), Modelos.Factura)
|
||||
'asigna el foliofiscal del ingreso que se acaba de timbrar, cuando es amortización de anticipo con NC
|
||||
If TieneAnticipo AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then
|
||||
ofa.Timbre.CFDIRelacionados.UUID.Clear()
|
||||
ofa.Timbre.CFDIRelacionados.UUID.Add(ObjTimbrado.UUID)
|
||||
End If
|
||||
|
||||
ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
||||
GeneraPDFFactura(ChkEnviarFactura.Checked)
|
||||
End If
|
||||
|
||||
'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION
|
||||
If GeneroDescuentoProntoPago AndAlso Not IsNothing(Obj2) AndAlso Obj2.Count > 0 AndAlso SeTimbro Then
|
||||
If ListaNotasCreditoGeneradas.Count > 0 Then
|
||||
Try
|
||||
Dim ofa As Modelos.Factura = CType(Obj2(Obj2.Count - 1), Modelos.Factura)
|
||||
'asigna el foliofiscal del ingreso que se acaba de timbrar, cuando es amortización de anticipo con NC
|
||||
ofa.Timbre.CFDIRelacionados.UUID.Clear()
|
||||
ofa.Timbre.CFDIRelacionados.UUID.Add(ObjTimbrado.UUID)
|
||||
For Each NCGenerada In ListaNotasCreditoGeneradas
|
||||
If NCGenerada.Timbre IsNot Nothing Then
|
||||
NCGenerada.Timbre.CFDIRelacionados.UUID.Clear()
|
||||
NCGenerada.Timbre.CFDIRelacionados.UUID.Add(FolioFiscalFactura)
|
||||
|
||||
ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
||||
GeneraPDFFactura(ChkEnviarFactura.Checked)
|
||||
Dim ObjTimbradoNC As New Timbrado
|
||||
Dim TimbroNC = ObjTimbradoNC.TimbrarFactura(UsuarioActual, NCGenerada)
|
||||
|
||||
If Not TimbroNC Then
|
||||
Alert(ObjTimbradoNC.MensajeErrorCFDI, TipoMensaje.MsgError)
|
||||
End If
|
||||
ObjTimbradoNC = Nothing
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al timbrar la nota de credito", ex)
|
||||
OnError("Ocurrió un error al timbrar la NC.", ex)
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
If SeTimbro AndAlso ObjFactura.TipoDocto.Contiene("Ing") Then
|
||||
@@ -8795,29 +8821,26 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
If Not SeTimbro Then
|
||||
Alert(ObjTimbrado.MensajeErrorCFDI, TipoMensaje.MsgError)
|
||||
Alert(MsgErrorTimbrado, TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
'CANCELAR FACTURA ANTERIOR
|
||||
If SeTimbro AndAlso (Me.CveDevolucion > 0 AndAlso Me.NuevaFactura = 1) Then
|
||||
If Me.ObjFacturaNC IsNot Nothing Then
|
||||
Me.ObjFacturaNC.CveEstatusRefacturacion = 2 'MARCAR COMO REFACTURADA
|
||||
Me.ObjFacturaNC.CancelarPorRefacturacion(Me.ObjFacturaNC.CveMotivoCancelacion, Me.ObjFacturaNC.MotivoCancelacion, ObjTimbrado.UUID)
|
||||
Me.ObjFacturaNC.CancelarPorRefacturacion(Me.ObjFacturaNC.CveMotivoCancelacion, Me.ObjFacturaNC.MotivoCancelacion, FolioFiscalFactura)
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'NOTA DE CREDITO DE REFACTURACION
|
||||
If RefacturacionGeneroNC Then
|
||||
If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 Then
|
||||
Dim ofa As Modelos.Factura = CType(ObjNC(0), Modelos.Factura)
|
||||
SeTimbroNC = ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
||||
End If
|
||||
End If
|
||||
|
||||
ElseIf UsuarioActual.Empresa.TipoFacturacion = "CBB" Then
|
||||
GeneraPDFCBB(ObjFactura.FechaCP, Nothing, ObjFactura.SerieFolio, False)
|
||||
''NOTA DE CREDITO DE REFACTURACION
|
||||
'If RefacturacionGeneroNC Then
|
||||
' If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 Then
|
||||
' Dim ofa As Modelos.Factura = CType(ObjNC(0), Modelos.Factura)
|
||||
' SeTimbroNC = ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
||||
' End If
|
||||
'End If
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -9044,7 +9067,7 @@ Partial Class Ventas
|
||||
|
||||
End If
|
||||
ObjFactura = Nothing
|
||||
Obj2 = Nothing
|
||||
ListaNotasCreditoGeneradas = Nothing
|
||||
End If
|
||||
|
||||
End If
|
||||
@@ -9122,6 +9145,11 @@ Partial Class Ventas
|
||||
ObjFacturaDevolucion.CveTipoRelacion = DdlTipoRelacionAnticipo.SelectedValue.ToEntero()
|
||||
ObjFacturaDevolucion.TipoRelacion = "07"
|
||||
|
||||
If NCDescuento Then
|
||||
ObjFacturaDevolucion.CveTipoRelacion = 1
|
||||
ObjFacturaDevolucion.TipoRelacion = "01"
|
||||
End If
|
||||
|
||||
Dim Fol As New List(Of String)
|
||||
Fol.Add(FolioFiscalRelacionado)
|
||||
ObjFacturaDevolucion.UUIDRelacionados = Fol
|
||||
@@ -9396,8 +9424,8 @@ Partial Class Ventas
|
||||
ObjFacturaBonificacion.UsoCFDI = DdlUsoCFDI.SelectedItem.Text
|
||||
ObjFacturaBonificacion.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", $"CveUsoCFDI = {DdlUsoCFDI.SelectedValue}")
|
||||
|
||||
ObjFacturaBonificacion.CveTipoRelacion = DdlTipoRelacionAnticipo.SelectedValue.ToEntero()
|
||||
ObjFacturaBonificacion.TipoRelacion = "07"
|
||||
ObjFacturaBonificacion.CveTipoRelacion = 1
|
||||
ObjFacturaBonificacion.TipoRelacion = "01"
|
||||
|
||||
Dim Fol As New List(Of String)
|
||||
Fol.Add(FolioFiscalRelacionado)
|
||||
@@ -11606,7 +11634,7 @@ Partial Class Ventas
|
||||
factura.Timbre.Comprobante.Serie = ObjVentas.Serie
|
||||
factura.Timbre.Comprobante.Folio = ObjVentas.Folio.ToString()
|
||||
|
||||
If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso factura.TipoDocto = "Ing" AndAlso Me.CveAutorizacion > 0 Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso Me.CveAutorizacion > 0 Then
|
||||
If Not ObjVentas.UpdateAutorizacionLimite(Me.CveAutorizacion, factura.CveCliente, factura.CveVenta) Then
|
||||
ErrorList.Add("Error al guardar los limites de la autorizacion")
|
||||
End If
|
||||
@@ -11710,7 +11738,7 @@ Partial Class Ventas
|
||||
Dim CveTamanio As Integer = GlobalDTAcumTamaños().FiltroPrimeroValor("CveTamaño", $"CvePSCargo={CvePSCargo}").ToEntero()
|
||||
|
||||
If CveTamanio > 0 Then
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Row("Cantidad").ToString().ToDecimal(), CveTamanio, 6, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "") Then
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Row("Cantidad").ToString().ToDecimal(), CveTamanio, 6, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "", Now) Then
|
||||
ErrorList.Add("Ocurrió un error al agregar la venta detalle devolución.")
|
||||
Exit For
|
||||
End If
|
||||
@@ -17070,8 +17098,9 @@ Partial Class Ventas
|
||||
Private Function CalcularDescuentos(CvePS As Integer, Cantidad As Decimal, PU As Decimal) As Descuentos
|
||||
Dim Descuento As Decimal = HdnDescuento.Value.ToDecimal
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(572) = "1" AndAlso UsuarioActual.TienePermisoProceso(328) AndAlso Not TbDescuentosRNC.Visible Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(572) = "1" AndAlso Not TbDescuentosRNC.Visible Then
|
||||
TbDescuentosRNC.Visible = True
|
||||
LnkDescuentosRNC.Visible = UsuarioActual.TienePermisoProceso(328)
|
||||
End If
|
||||
|
||||
If HdnTipoDescuento.Value = "0" Then
|
||||
@@ -20505,7 +20534,7 @@ Partial Class Ventas
|
||||
ImgDescTotal.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '2'; $get('LblPrecio1').style.display = 'none'; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = ''; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = 'none'; $get('BtnAplicarDescG').style.display = ''; $get('TrMotivoDescuento').style.display = '';")
|
||||
LblSubTotal1.Text = TxtSubTotal.Text
|
||||
LblAmort.Text = TxtSubTotal.Text
|
||||
|
||||
LimpiaEscondeContado()
|
||||
UpPS.Update()
|
||||
UpCliente.Update()
|
||||
UPObservaciones.Update()
|
||||
@@ -20993,8 +21022,18 @@ Partial Class Ventas
|
||||
DdlMetodoPago33.SelectedValueExist("3")
|
||||
DdlMetodoPago33.Enabled = False
|
||||
|
||||
If Me.CveVenta > 0 AndAlso (Not Me.EsCreaApartirDe) AndAlso (Not Me.ModalidadEdicion) AndAlso Me.CveMetodoPago33Venta > 0 Then
|
||||
DdlMetodoPago33.SelectedValueExist(Me.CveMetodoPago33Venta)
|
||||
End If
|
||||
|
||||
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
|
||||
|
||||
If Me.CveVenta > 0 AndAlso (Not Me.EsCreaApartirDe) AndAlso Me.CveFormaPago33Venta > 0 Then
|
||||
DdlFormaPago33.SelectedValueExist(Me.CveFormaPago33Venta)
|
||||
End If
|
||||
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146) Then
|
||||
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
|
||||
DdlFormaPago33.Enabled = False
|
||||
DdlFormaPago33.SelectedValueExist("20")
|
||||
End If
|
||||
@@ -21017,7 +21056,11 @@ Partial Class Ventas
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146) Then
|
||||
DdlFormaPago33.Enabled = True
|
||||
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
|
||||
End If
|
||||
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
|
||||
|
||||
If Me.CveVenta > 0 AndAlso (Not Me.EsCreaApartirDe) AndAlso (Not Me.ModalidadEdicion) AndAlso Me.CveFormaPago33Venta > 0 Then
|
||||
DdlFormaPago33.SelectedValueExist(Me.CveFormaPago33Venta)
|
||||
End If
|
||||
|
||||
End If
|
||||
@@ -21074,10 +21117,15 @@ Partial Class Ventas
|
||||
DtCC.Dispose()
|
||||
|
||||
DdlCuentaEfectivo.DataBind()
|
||||
'DdlCuentaEfectivo.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlCuentaTarjetaCredito.DataBind()
|
||||
'DdlCuentaTarjetaCredito.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlCuentaTarjetaDebito.DataBind()
|
||||
'DdlCuentaTarjetaDebito.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlCuentaCheque.DataBind()
|
||||
'DdlCuentaCheque.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlCuentaTransferencia.DataBind()
|
||||
'DdlCuentaTransferencia.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -21127,6 +21175,11 @@ Partial Class Ventas
|
||||
Return Folio
|
||||
End Function
|
||||
Private Sub CargaGridContado()
|
||||
'If DtPagos IsNot Nothing Then
|
||||
' HdnPagadoContado.Value = DtPagos.SUMD("Importe").ToString()
|
||||
'Else
|
||||
' HdnPagadoContado.Value = "0"
|
||||
'End If
|
||||
GvPagos.DataSource = DtPagos
|
||||
GvPagos.DataBind()
|
||||
End Sub
|
||||
@@ -21149,6 +21202,12 @@ Partial Class Ventas
|
||||
|
||||
DtPagos = New DataTable
|
||||
|
||||
Dim Cambio As Decimal = TxtCambio.Text.ToDecimal
|
||||
'SI ES FALTANTE NO DEBE CONSIDERARSE
|
||||
If HdnCambioFaltante.Value = "2" Then
|
||||
Cambio = 0
|
||||
End If
|
||||
|
||||
DtPagos.Columns.Add("CveTipoMovimiento", GetType(String))
|
||||
DtPagos.Columns.Add("TipoMovimiento", GetType(String))
|
||||
DtPagos.Columns.Add("CveCuenta", GetType(String))
|
||||
@@ -21162,13 +21221,15 @@ Partial Class Ventas
|
||||
|
||||
If total <= 0 Then Alert("No se ha ingresado importe", TipoMensaje.MsgAdvertencia) : Exit Sub
|
||||
|
||||
If TxtCambio.Text.ToDecimal > 0 And TxtImporteEfectivo.Text.ToDecimal < TxtCambio.Text.ToDecimal Then
|
||||
If Cambio > 0 And TxtImporteEfectivo.Text.ToDecimal < Cambio Then
|
||||
Alert("Debe haber un pago en efectivo y ser mayor que el cambio. Si no, ser pago exacto.", TipoMensaje.MsgAdvertencia)
|
||||
CargaGridContado()
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If (DtPagos.SUM("Importe").ToString().ToDecimal + total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then
|
||||
If (DtPagos.SUM("Importe").ToString().ToDecimal + total - Cambio) > TxtTotal.Text.ToDecimal Then
|
||||
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor rectifique.", TipoMensaje.MsgAdvertencia)
|
||||
CargaGridContado()
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
@@ -21180,7 +21241,7 @@ Partial Class Ventas
|
||||
DrEfectivo("TipoMovimiento") = "Pago en Efectivo"
|
||||
DrEfectivo("CveCuenta") = DdlCuentaEfectivo.SelectedValue
|
||||
DrEfectivo("Cuenta") = DdlCuentaEfectivo.SelectedItem.Text
|
||||
DrEfectivo("Importe") = TxtImporteEfectivo.Text.ToDecimal - TxtCambio.Text.ToDecimal
|
||||
DrEfectivo("Importe") = TxtImporteEfectivo.Text.ToDecimal - Cambio
|
||||
DrEfectivo("Folio") = CargaFolioContado(DdlCuentaEfectivo.SelectedValue.ToEntero(), 6)
|
||||
DrEfectivo("Observaciones") = ""
|
||||
DrEfectivo("Tipo") = "Caja Chica"
|
||||
@@ -21423,6 +21484,53 @@ Partial Class Ventas
|
||||
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso RBLPago.SelectedValue = "2" AndAlso CveVenta <= 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant") Then
|
||||
|
||||
If Not TienePagos AndAlso TxtTotal.Text.ToDecimal > 0 Then
|
||||
If MostrarAlertas Then
|
||||
Alert("Es necesario especificar un pago.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
Retorno = True
|
||||
Return Retorno
|
||||
End If
|
||||
|
||||
If TienePagos Then
|
||||
Dim TotalPagoContado As Decimal = If(DtPagos IsNot Nothing, DtPagos.SUM("Importe").ToDecimal(), 0) + AmortizacionNC
|
||||
Dim TotalProntoPago As Decimal = LblProntoPago.Text.ToDecimal()
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(572) = "1" Then
|
||||
Dim TotalRNC As Decimal = If((ListaNCDesc IsNot Nothing AndAlso ListaNCDesc.Count > 0) OrElse (ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0), LblDescuentosRNC.Text.Trim().ToDecimal(), 0)
|
||||
|
||||
Dim ImporteTotal As Decimal = (TxtTotal.Text.ToDecimal).RoundSQL(2)
|
||||
Dim TotalPagado = (TotalPagoContado + TotalRNC + TotalProntoPago).RoundSQL(2)
|
||||
|
||||
If TotalPagado <> ImporteTotal Then
|
||||
If MostrarAlertas Then
|
||||
Alert("La suma de los pagos debe ser igual al total de la venta.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
Retorno = True
|
||||
Return Retorno
|
||||
End If
|
||||
|
||||
Else
|
||||
Dim TotalPagado = (TotalPagoContado + TotalProntoPago).RoundSQL(2)
|
||||
If TotalPagado <> TxtTotal.Text.ToDecimal.RoundSQL(2) Then
|
||||
If MostrarAlertas Then
|
||||
Alert("La suma de los pagos debe ser igual al total de la venta.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
Retorno = True
|
||||
Return Retorno
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'SI TIENE SALDO PENDIENTE VALIDA SI TIENE PAGOS
|
||||
If Me.SaldoVenta > 0 Then
|
||||
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") AndAlso (UsuarioActual.Empresa.Funcionalidad(531) = "1") AndAlso (Not PermiteCredito) AndAlso Not TienePagos And TxtTotal.Text.ToDecimal > 0 Then
|
||||
@@ -21953,10 +22061,10 @@ Partial Class Ventas
|
||||
|
||||
|
||||
Dim DtDireccionEnvio As DataTable = Nothing
|
||||
Dim ObjClientes As New ClsClientes
|
||||
If ObjClientes.DireccionEnvioGet(DdlDireccionEnvio.SelectedValue.ToEntero(), CveCliente, CveClienteSucursal) Then
|
||||
DtDireccionEnvio = ObjClientes.DtResultados
|
||||
End If
|
||||
Dim ObjClientes As New ClsClientes
|
||||
If ObjClientes.DireccionEnvioGet(DdlDireccionEnvio.SelectedValue.ToEntero(), CveCliente, CveClienteSucursal) Then
|
||||
DtDireccionEnvio = ObjClientes.DtResultados
|
||||
End If
|
||||
ObjClientes.Dispose()
|
||||
|
||||
If DtDireccionEnvio IsNot Nothing And DtDireccionEnvio.Rows.Count > 0 Then
|
||||
@@ -22001,7 +22109,7 @@ Partial Class Ventas
|
||||
RegistraScript("$('#divAddDireccionEnvio').modal();")
|
||||
End Sub
|
||||
|
||||
#Region "D I R E C C I O N E N V I O - C O M B O S"
|
||||
#Region "D I R E C C I O N E N V I O - C O M B O S"
|
||||
Protected Sub BtnDirClienteValidar_Click(sender As Object, e As EventArgs)
|
||||
DirClientevalidaCodigoPostal()
|
||||
End Sub
|
||||
@@ -22015,27 +22123,27 @@ Partial Class Ventas
|
||||
|
||||
Private Sub CargaDirClientePais()
|
||||
|
||||
DdlDirClientePais.DataSource = GlobalDTGralPaises()
|
||||
DdlDirClientePais.DataBind()
|
||||
DdlDirClientePais.SelectedValueExist("151")
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDirClienteEstado()
|
||||
DdlDirClienteEstado.Items.Clear()
|
||||
If DdlDirClientePais.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteEstado.DataSource = GlobalDTGralEstados("-1", DdlDirClientePais.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteEstado.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteEstado.DataBind()
|
||||
DdlDirClientePais.DataSource = GlobalDTGralPaises()
|
||||
DdlDirClientePais.DataBind()
|
||||
DdlDirClientePais.SelectedValueExist("151")
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDirClienteColonia()
|
||||
DdlDirClienteColonia.Items.Clear()
|
||||
Private Sub CargaDirClienteEstado()
|
||||
DdlDirClienteEstado.Items.Clear()
|
||||
If DdlDirClientePais.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteEstado.DataSource = GlobalDTGralEstados("-1", DdlDirClientePais.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteEstado.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteEstado.DataBind()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDirClienteColonia()
|
||||
DdlDirClienteColonia.Items.Clear()
|
||||
If DdlDirClienteMunicipio.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteColonia.DataSource = GlobalDTGralColonias("-1", "-1", "-1", DdlDirClienteMunicipio.SelectedValue.ToEntero, CodigoPostal:=If(TxtEnvioCP.Text.Trim.Length > 0, TxtEnvioCP.Text.ToEntero, -1))
|
||||
End If
|
||||
DdlDirClienteColonia.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteColonia.DataBind()
|
||||
End If
|
||||
DdlDirClienteColonia.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteColonia.DataBind()
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -22052,24 +22160,24 @@ Partial Class Ventas
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDirClienteMunicipio()
|
||||
DdlDirClienteMunicipio.Items.Clear()
|
||||
If DdlDirClienteEstado.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteMunicipio.DataSource = GlobalDTGralMunicipios("-1", DdlDirClienteEstado.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteMunicipio.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteMunicipio.DataBind()
|
||||
DdlDirClienteMunicipio.Items.Clear()
|
||||
If DdlDirClienteEstado.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteMunicipio.DataSource = GlobalDTGralMunicipios("-1", DdlDirClienteEstado.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteMunicipio.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteMunicipio.DataBind()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlDirClientePais_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteEstado()
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
End Sub
|
||||
Protected Sub DdlDirClienteEstado_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
Protected Sub DdlDirClientePais_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteEstado()
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
End Sub
|
||||
Protected Sub DdlDirClienteEstado_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlDirClienteMunicipio_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
@@ -22833,7 +22941,7 @@ Partial Class Ventas
|
||||
'Else
|
||||
|
||||
'End If
|
||||
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs", "RNC") Then
|
||||
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs") Then
|
||||
|
||||
Dim sb As New StringBuilder()
|
||||
Dim sbExtra As New StringBuilder()
|
||||
@@ -25946,7 +26054,7 @@ Partial Class Ventas
|
||||
Dim DtNC As DataTable = Nothing
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente, CveMoneda:=-1) Then
|
||||
DtNC = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'RNC' AND CveVenta > 0 and Saldo > 0", "Moneda,Fecha,Folio")
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
@@ -26026,7 +26134,7 @@ Partial Class Ventas
|
||||
Dim DtNC As DataTable = Nothing
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente, CveMoneda:=-1) Then
|
||||
DtNC = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'RNC' AND CveVenta > 0 and Saldo > 0", "Moneda,Fecha,Folio")
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
@@ -26066,7 +26174,7 @@ Partial Class Ventas
|
||||
Dim DtNC As DataTable = Nothing
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1) Then
|
||||
Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.Copy()
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
@@ -26141,7 +26249,7 @@ Partial Class Ventas
|
||||
Dim DtNC As DataTable = Nothing
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1) Then
|
||||
Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.Copy()
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
@@ -26189,7 +26297,7 @@ Partial Class Ventas
|
||||
'GvRemisionesNCBonDetalle.DataBind()
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1) Then
|
||||
Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.Copy()
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
@@ -26235,7 +26343,7 @@ Partial Class Ventas
|
||||
Dim DtNC As DataTable = Nothing
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1) Then
|
||||
Me.TmpDTRNCBonificacionDetalle = ObjMovtos.DtResultados.Copy()
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
@@ -27319,10 +27427,14 @@ Partial Class Ventas
|
||||
'Dim RNCCargo = ListaNC.Where(Function(f) f.CveVenta = RNCBonificacion.CveVentaRNCCargo).FirstOrDefault()
|
||||
|
||||
For Each RowCargo As DataRow In TmpDT.FiltraParametros("EsCargo = True", Orderby:="PU").Rows
|
||||
Dim CantidadCargo = RowCargo("Cantidad").ToString().ToDecimal()
|
||||
Dim ImportePU As Decimal = GlobalDTAcumTamaños().FiltroPrimeroValor("Bonificacion", $"CvePSCargo={RowCargo("CvePS")}").ToDecimal()
|
||||
Dim TotalCalculableImpuestosCargo As Decimal = (CantidadCargo * ImportePU)
|
||||
Dim TotalCargo As Decimal = TotalCalculableImpuestosCargo + (TotalCalculableImpuestosCargo * RowCargo("PorcentajeIVA").ToString().ToDecimal).RoundSQL(2)
|
||||
|
||||
Dim PorcentajeAplicado = (RNCBonificacion.TotalRemNCAplicado / RNCBonificacion.Total)
|
||||
Dim PorcentajeAplicado = (RNCBonificacion.TotalRemNCAplicado / TotalCargo)
|
||||
|
||||
Dim Cantidad As Decimal = RowCargo("Cantidad").ToString().ToDecimal() '* PorcentajeAplicado
|
||||
Dim Cantidad As Decimal = RowCargo("Cantidad").ToString().ToDecimal() * PorcentajeAplicado
|
||||
|
||||
Dim Obs = RowCargo("CodigoPS").ToString()
|
||||
|
||||
@@ -27332,7 +27444,7 @@ Partial Class Ventas
|
||||
|
||||
'Dim ImportePU = RowCargo("PUBonificacion").ToString().ToDecimal
|
||||
|
||||
Dim ImportePU As Decimal = GlobalDTAcumTamaños().FiltroPrimeroValor("Bonificacion", $"CvePSCargo={RowCargo("CvePS")}").ToDecimal()
|
||||
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = (Cantidad * ImportePU)
|
||||
|
||||
@@ -30947,7 +31059,7 @@ Partial Class Ventas
|
||||
For Each drow As DataRow In factura.DtDetalle.Rows
|
||||
If drow("CveTamaño").ToString.ToEntero > 0 And (CvePSPSA <> drow("CvePS").ToString.ToEntero) Then
|
||||
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, drow("Cantidad").ToString.ToDecimal, drow("CveTamaño").ToString.ToEntero, CveConcepto, factura.CveVenta, UsuarioActual.CveUsuario,
|
||||
UsuarioActual.CveEmpresa, 0D, "") Then
|
||||
UsuarioActual.CveEmpresa, 0D, "", Now) Then
|
||||
Resultado = False
|
||||
Exit For
|
||||
End If
|
||||
@@ -31323,15 +31435,18 @@ Partial Class Ventas
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked Then
|
||||
Dim Rows = TmpDTRNCDetalle.Select($"CveVentaDetalleRNC = {GvRow.DataKey("CveVentaDetalleRNC").ToEntero()}")
|
||||
For Each row In Rows
|
||||
row("Cantidad") = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
If GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal() > 0 Then
|
||||
row("Cantidad") = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = row("Cantidad").ToString().ToDecimal() * row("PU").ToString().ToDecimal()
|
||||
Dim IVA As Decimal = (TotalCalculableImpuestos * row("PorcentajeIVA").ToString().ToDecimal()).RoundSQL()
|
||||
Dim TotalCalculableImpuestos As Decimal = row("Cantidad").ToString().ToDecimal() * row("PU").ToString().ToDecimal()
|
||||
Dim IVA As Decimal = (TotalCalculableImpuestos * row("PorcentajeIVA").ToString().ToDecimal()).RoundSQL()
|
||||
|
||||
row("IVA") = IVA
|
||||
row("Total") = (TotalCalculableImpuestos + IVA).RoundSQL
|
||||
row("IVA") = IVA
|
||||
row("Total") = (TotalCalculableImpuestos + IVA).RoundSQL
|
||||
|
||||
TmpDTRNCDetalleSelecciondas.Rows.Add(row.ItemArray)
|
||||
End If
|
||||
|
||||
TmpDTRNCDetalleSelecciondas.Rows.Add(row.ItemArray)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
@@ -31357,18 +31472,25 @@ Partial Class Ventas
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked AndAlso GvRow.DataKey("CveVenta").ToEntero() = Dr("CveVenta").ToString().ToEntero() Then
|
||||
|
||||
Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
Dim PU = GvRow.DataKey("PU").ToDecimal()
|
||||
Dim PorcentajeIVA As Decimal = GvRow.DataKey("PorcentajeIVA").ToDecimal()
|
||||
If Cantidad > 0 Then
|
||||
Dim PU = GvRow.DataKey("PU").ToDecimal()
|
||||
Dim PorcentajeIVA As Decimal = GvRow.DataKey("PorcentajeIVA").ToDecimal()
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = (Cantidad * PU)
|
||||
Dim ImporteIVA As Decimal = (TotalCalculableImpuestos * PorcentajeIVA).RoundSQL(2)
|
||||
Dim TotalCalculableImpuestos As Decimal = (Cantidad * PU)
|
||||
Dim ImporteIVA As Decimal = (TotalCalculableImpuestos * PorcentajeIVA).RoundSQL(2)
|
||||
|
||||
Dim TotalRNCDetalle As Decimal = (TotalCalculableImpuestos + ImporteIVA)
|
||||
Dim TotalRNCDetalle As Decimal = (TotalCalculableImpuestos + ImporteIVA)
|
||||
|
||||
TotalRNC += TotalRNCDetalle
|
||||
TotalRNC += TotalRNCDetalle
|
||||
|
||||
If RemNC.CveVentaRNCCargo <= 0 Then
|
||||
RemNC.CveVentaRNCCargo = GvRow.DataKey("CveVenta").ToEntero()
|
||||
If RemNC.CveVentaRNCCargo <= 0 Then
|
||||
RemNC.CveVentaRNCCargo = GvRow.DataKey("CveVenta").ToEntero()
|
||||
End If
|
||||
Else
|
||||
Alert($"La cantidad seleccionada debe ser mayor a 0.", TipoMensaje.MsgAdvertencia)
|
||||
ListaNCDesc.Clear()
|
||||
ListaNCBonificacion.Clear()
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
End If
|
||||
@@ -31477,15 +31599,17 @@ Partial Class Ventas
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked Then
|
||||
Dim Rows = TmpDTRNCBonificacionDetalle.Select($"CveVentaDetalleRNC = {GvRow.DataKey("CveVentaDetalleRNC").ToEntero()}")
|
||||
For Each row In Rows
|
||||
row("Cantidad") = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
If GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal() > 0 Then
|
||||
row("Cantidad") = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = row("Cantidad").ToString().ToDecimal() * row("PU").ToString().ToDecimal()
|
||||
Dim IVA As Decimal = (TotalCalculableImpuestos * row("PorcentajeIVA").ToString().ToDecimal()).RoundSQL()
|
||||
Dim TotalCalculableImpuestos As Decimal = row("Cantidad").ToString().ToDecimal() * row("PU").ToString().ToDecimal()
|
||||
Dim IVA As Decimal = (TotalCalculableImpuestos * row("PorcentajeIVA").ToString().ToDecimal()).RoundSQL()
|
||||
|
||||
row("IVA") = IVA
|
||||
row("Total") = (TotalCalculableImpuestos + IVA).RoundSQL
|
||||
row("IVA") = IVA
|
||||
row("Total") = (TotalCalculableImpuestos + IVA).RoundSQL
|
||||
|
||||
TmpDTRNCBonificacionDetalleSeleccionadas.Rows.Add(row.ItemArray)
|
||||
TmpDTRNCBonificacionDetalleSeleccionadas.Rows.Add(row.ItemArray)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
@@ -31503,20 +31627,28 @@ Partial Class Ventas
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked AndAlso GvRow.DataKey("CveVenta").ToEntero() = Dr("CveVenta").ToString().ToEntero() Then
|
||||
|
||||
Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
Dim PU = GvRow.DataKey("PU").ToDecimal()
|
||||
Dim PorcentajeIVA As Decimal = GvRow.DataKey("PorcentajeIVA").ToDecimal()
|
||||
If Cantidad > 0 Then
|
||||
Dim PU = GvRow.DataKey("PU").ToDecimal()
|
||||
Dim PorcentajeIVA As Decimal = GvRow.DataKey("PorcentajeIVA").ToDecimal()
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = (Cantidad * PU)
|
||||
Dim ImporteIVA As Decimal = (TotalCalculableImpuestos * PorcentajeIVA).RoundSQL(2)
|
||||
Dim TotalCalculableImpuestos As Decimal = (Cantidad * PU)
|
||||
Dim ImporteIVA As Decimal = (TotalCalculableImpuestos * PorcentajeIVA).RoundSQL(2)
|
||||
|
||||
Dim TotalRNCDetalle As Decimal = (TotalCalculableImpuestos + ImporteIVA)
|
||||
Dim TotalRNCDetalle As Decimal = (TotalCalculableImpuestos + ImporteIVA)
|
||||
|
||||
TotalRNC += TotalRNCDetalle
|
||||
TotalRNC += TotalRNCDetalle
|
||||
|
||||
If RemNC.CveVentaRNCCargo <= 0 Then
|
||||
RemNC.CveVentaRNCCargo = GvRow.DataKey("CveVenta").ToEntero()
|
||||
If RemNC.CveVentaRNCCargo <= 0 Then
|
||||
RemNC.CveVentaRNCCargo = GvRow.DataKey("CveVenta").ToEntero()
|
||||
End If
|
||||
Else
|
||||
Alert($"La cantidad seleccionada debe ser mayor a 0.", TipoMensaje.MsgAdvertencia)
|
||||
ListaNCDesc.Clear()
|
||||
ListaNCBonificacion.Clear()
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
@@ -32757,7 +32889,7 @@ Partial Class Ventas
|
||||
Dim DtNC As DataTable = Nothing
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente, CveMoneda:=-1) Then
|
||||
DtNC = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'RNC' AND TipoRNC = 3 AND CveVenta > 0 and Saldo > 0", "Moneda,Fecha,Folio")
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
@@ -32929,6 +33061,10 @@ Partial Class Ventas
|
||||
Dim CveEstatus As Integer = 0
|
||||
Dim TipoDocto As String = DdlTipoDocto.SelectedValue
|
||||
Dim CveTipoAutorizacion As Integer = DdlTipoAutorizacion.SelectedValue.ToEntero()
|
||||
If CveTipoAutorizacion <= 0 Then
|
||||
Alert("Debe seleccionar un tipo de autorización", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If CveTipoAutorizacion = 2 Then
|
||||
DiasVencidos = TxtDiasVencidos.Text.ToEntero()
|
||||
|
||||
Reference in New Issue
Block a user