Correciones en facturacion masiva
This commit is contained in:
@@ -2003,7 +2003,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<asp:GridView ID="GvCiclosComerciales" ClientIDMode="Static" ShowHeader="true" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron documentos." CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
|
<asp:GridView ID="GvCiclosComerciales" ClientIDMode="Static" ShowHeader="true" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron documentos." CssClass="table table-striped table-hover ScrollAD Widthall" data-heighterror="450" data-freezerows="1" BorderColor="#D3D3D3" GridLines="None">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVenc" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVenc" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
||||||
<asp:BoundField HeaderText="Fue Facturado" DataField="FueFacturadoTexto" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
|
<asp:BoundField HeaderText="Fue Facturado" DataField="FueFacturadoTexto" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
|
||||||
|
|||||||
@@ -1021,6 +1021,7 @@ Partial Class Contratos_Default
|
|||||||
If ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero() > 0 Then
|
If ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero() > 0 Then
|
||||||
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero())
|
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero())
|
||||||
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
|
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
|
||||||
|
DdlDiaFact.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("DiaMesFacturacion").ToString())
|
||||||
End If
|
End If
|
||||||
UpFacCiclica.Update()
|
UpFacCiclica.Update()
|
||||||
|
|
||||||
@@ -1235,6 +1236,16 @@ Partial Class Contratos_Default
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If ChkAplicaFacCiclica.Checked AndAlso DdlPeriodo.SelectedValue.ToEntero() <= 0 Then
|
||||||
|
Alert("Debe seleccionar un periodo para la facturación ciclica", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ChkAplicaFacCiclica.Checked AndAlso DdlDiaFact.SelectedValue.ToEntero() <= 0 Then
|
||||||
|
Alert("Debe seleccionar un día para la facturación ciclica", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
Dim TieneError = False
|
Dim TieneError = False
|
||||||
Dim Modificado = False
|
Dim Modificado = False
|
||||||
' Dim Extension = Session("FileExtension").ToString
|
' Dim Extension = Session("FileExtension").ToString
|
||||||
@@ -1508,7 +1519,8 @@ Partial Class Contratos_Default
|
|||||||
For Ciclo As Integer = 1 To CiclosComercialesEnMeses
|
For Ciclo As Integer = 1 To CiclosComercialesEnMeses
|
||||||
Dim FechaRef As DateTime = FechaI.AddMonths(PeriodoMeses * Ciclo)
|
Dim FechaRef As DateTime = FechaI.AddMonths(PeriodoMeses * Ciclo)
|
||||||
Dim lastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month)
|
Dim lastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month)
|
||||||
Dim DiaMes As Integer = If(FechaRef.Day < DdlDiaFact.SelectedValue.ToEntero(), lastDayOfMonth, DdlDiaFact.SelectedValue.ToEntero())
|
|
||||||
|
Dim DiaMes As Integer = If(lastDayOfMonth < DdlDiaFact.SelectedValue.ToEntero(), lastDayOfMonth, DdlDiaFact.SelectedValue.ToEntero())
|
||||||
|
|
||||||
Dim FechaFact = New DateTime(FechaRef.Year, FechaRef.Month, DiaMes)
|
Dim FechaFact = New DateTime(FechaRef.Year, FechaRef.Month, DiaMes)
|
||||||
FechaFact = If(FechaFact > FechaF, FechaF, FechaFact)
|
FechaFact = If(FechaFact > FechaF, FechaF, FechaFact)
|
||||||
@@ -2304,7 +2316,7 @@ Partial Class Contratos_Default
|
|||||||
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
||||||
TmpDT.Rows.Remove(DbRow)
|
TmpDT.Rows.Remove(DbRow)
|
||||||
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
||||||
LbTotalGeneralInsumos.Text = GvInsumos.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLiteral("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
LbTotalGeneralInsumos.Text = GvInsumos.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLabel("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
||||||
Else
|
Else
|
||||||
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -1,166 +1,167 @@
|
|||||||
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="FacturacionMasiva.aspx.vb" Inherits="Contratos_FacturacionMasiva" %>
|
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="FacturacionMasiva.aspx.vb" Inherits="Contratos_FacturacionMasiva" %>
|
||||||
|
|
||||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
|
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||||
Facturación Masiva
|
Facturación Masiva
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
|
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||||
<li>
|
<li>
|
||||||
<asp:UpdatePanel ID="UpnRefresh" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UpnRefresh" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<asp:LinkButton ID="ImgFacturarTodos" runat="server"><i class="fa fa-repeat"></i>
|
<asp:LinkButton ID="ImgFacturarTodos" runat="server"><i class="fa fa-repeat"></i>
|
||||||
Facturar Todas</asp:LinkButton>
|
Facturar Todas</asp:LinkButton>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
</li>
|
</li>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
|
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
|
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
||||||
|
|
||||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpFiltros">
|
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpFiltros">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="portlet solid grey-cascade portlet-filter">
|
<div class="portlet solid grey-cascade portlet-filter">
|
||||||
<div class="portlet-title portlet-filterT smalltitle magindate">
|
<div class="portlet-title portlet-filterT smalltitle magindate">
|
||||||
<div class="tools">
|
<div class="tools">
|
||||||
<asp:Button ID="BtnCargaAsignados" ClientIDMode="Static" runat="server" Text="Consultar" class="btn btn-default" />
|
<asp:Button ID="BtnCargaAsignados" ClientIDMode="Static" runat="server" Text="Consultar" class="btn btn-default" />
|
||||||
<a href="javascript:;" id="ex" class="expand"></a>
|
<a href="javascript:;" id="ex" class="expand"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="titlefiltros caption ">
|
<div class="titlefiltros caption ">
|
||||||
<ul class="list-inline" style="font-size: 12px;">
|
<ul class="list-inline" style="font-size: 12px;">
|
||||||
<li>Cliente:
|
<li>Cliente:
|
||||||
<ADS:Dropdownlost ID="DdlCliente" runat="server" Width="230px" CssStyle="width: 100%;" UsaWebService="true" AppendDataBoundItems="true" CssClass="select2me" data-metodo="getcliente" DataTextField="NombreComercial" DataValueField="CveCliente"></ADS:Dropdownlost>
|
|
||||||
</li>
|
<ADS:Dropdownlost ID="DdlCliente" runat="server" Width="230px" CssStyle="width: 100%;" UsaWebService="true" AppendDataBoundItems="true" CssClass="select2me" data-metodo="getcliente" DataTextField="NombreComercial" DataValueField="CveCliente"></ADS:Dropdownlost>
|
||||||
|
</li>
|
||||||
<li>Contrato:
|
<li>Contrato:
|
||||||
<ADS:Dropdownlost ID="DdlContrato" runat="server" Width="230px" CssStyle="width: 100%;" UsaWebService="true" AppendDataBoundItems="true" CssClass="select2me" data-metodo="getcontratos" DataTextField="NumeroContrato" DataValueField="CveContrato">
|
|
||||||
</ADS:Dropdownlost>
|
<ADS:Dropdownlost ID="DdlContrato" runat="server" Width="230px" CssStyle="width: 100%;" UsaWebService="true" AppendDataBoundItems="true" CssClass="select2me" data-metodo="getcontratos" DataTextField="NumeroContrato" DataValueField="CveContrato"></ADS:Dropdownlost>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>Sucursal:
|
||||||
Sucursal:
|
|
||||||
<asp:DropDownList ID="DdlSucursal" Width="230px" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me">
|
<asp:DropDownList ID="DdlSucursal" Width="230px" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me">
|
||||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="portlet-body" style="display:none">
|
<div class="portlet-body" style="display: none">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label class="col-md-1">Fecha I.: </label>
|
<label class="col-md-1">Fecha I.: </label>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
||||||
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
||||||
<span class="input-group-btn ">
|
<span class="input-group-btn ">
|
||||||
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||||
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||||
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||||
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||||
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-md-1">Fecha F.: </label>
|
<label class="col-md-1">Fecha F.: </label>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
||||||
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
||||||
<span class="input-group-btn ">
|
<span class="input-group-btn ">
|
||||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||||
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||||
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||||
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
<asp:UpdatePanel UpdateMode="Conditional" ID="UpGv" runat="server">
|
<asp:UpdatePanel UpdateMode="Conditional" ID="UpGv" runat="server">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<asp:GridView ID="GvCiclosComerciales" runat="server" DataKeyNames="CveCicloComercial, NumeroContrato, CveSubProyecto, FechaVenc" AutoGenerateColumns="False" ShowHeader="True" EmptyDataText="No se encontraron pendientes por facturar" GridLines="none" ToolTip="Listado de Pendientes" CssClass="table table-striped table-hover Widthall">
|
<asp:GridView ID="GvCiclosComerciales" runat="server" DataKeyNames="CveCicloComercial, NumeroContrato, CveSubProyecto, FechaVenc" AutoGenerateColumns="False" ShowHeader="True" EmptyDataText="No se encontraron pendientes por facturar" GridLines="none" ToolTip="Listado de Pendientes" CssClass="table table-striped table-hover Widthall">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField ItemStyle-HorizontalAlign="center" headertext="" ItemStyle-Width="10%">
|
<asp:TemplateField ItemStyle-HorizontalAlign="center" HeaderText="" ItemStyle-Width="10%">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:CheckBox runat="server" ID="chkDis" />
|
<asp:CheckBox runat="server" ID="chkDis" />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:HyperLinkField DataTextField="NumeroContrato" DataNavigateUrlFields="CveContrato" DataNavigateUrlFormatString="/Contratos/Contrato.aspx?CveContrato={0}" HeaderText="Número Contrato" ItemStyle-Width="10%" Target="_blank" />
|
<asp:HyperLinkField DataTextField="NumeroContrato" DataNavigateUrlFields="CveContrato" DataNavigateUrlFormatString="/Contratos/Contrato.aspx?CveContrato={0}" HeaderText="Número Contrato" ItemStyle-Width="10%" Target="_blank" />
|
||||||
<asp:BoundField HeaderText="Descripción" DataField="DescripcionContrato" ItemStyle-CssClass="truncate" ItemStyle-Width="25%" />
|
<asp:BoundField HeaderText="Descripción" DataField="DescripcionContrato" ItemStyle-CssClass="truncate" ItemStyle-Width="25%" />
|
||||||
<asp:HyperLinkField DataTextField="Cliente" HeaderText="Cliente" DataNavigateUrlFields="CveCliente" DataNavigateUrlFormatString="/Ventas/Clientes.aspx?CveCliente={0}" ItemStyle-Width="15%" Target="_blank" />
|
<asp:HyperLinkField DataTextField="Cliente" HeaderText="Cliente" DataNavigateUrlFields="CveCliente" DataNavigateUrlFormatString="/Ventas/Clientes.aspx?CveCliente={0}" ItemStyle-Width="15%" Target="_blank" />
|
||||||
<asp:BoundField HeaderText="Fecha Factura" DataField="FechaVenc" DataFormatString="{0:d}" ItemStyle-Width="10%" />
|
<asp:BoundField HeaderText="Fecha Factura" DataField="FechaVenc" DataFormatString="{0:d}" ItemStyle-Width="10%" />
|
||||||
<asp:BoundField HeaderText="Observación" DataField="Observaciones" ItemStyle-Width="10%" />
|
<asp:BoundField HeaderText="Observación" DataField="Observaciones" ItemStyle-Width="10%" />
|
||||||
<asp:HyperLinkField Text="Ir" DataNavigateUrlFields="CveCicloComercial" HeaderText="Factura Manual" ItemStyle-Width="15%" Target="_blank" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveCicloComercial={0}" />
|
<asp:HyperLinkField Text="Ir" DataNavigateUrlFields="CveCicloComercial" HeaderText="Factura Manual" ItemStyle-Width="15%" Target="_blank" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveCicloComercial={0}" />
|
||||||
</Columns>
|
</Columns>
|
||||||
</asp:GridView>
|
</asp:GridView>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
<br />
|
<br />
|
||||||
<asp:UpdatePanel ID="upRecargar" runat="server">
|
<asp:UpdatePanel ID="upRecargar" runat="server">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<asp:LinkButton ID="btnFacturarAqui" runat="server" CssClass="btn btn-primary" style="float:right" onclientclick="javascript:$('#divAgregar').modal();return false;" Text="Facturar Seleccionadas" CausesValidation="False" />
|
<asp:LinkButton ID="btnFacturarAqui" runat="server" CssClass="btn btn-primary" Style="float: right" OnClientClick="javascript:$('#divAgregar').modal();return false;" Text="Facturar Seleccionadas" CausesValidation="False" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
<div id="divAgregar" class="modal ADS fade" role="dialog">
|
<div id="divAgregar" class="modal ADS fade" role="dialog">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<asp:UpdatePanel ID="UpAgregar" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UpAgregar" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title" id="myModalLabel">Agregar Observación</h4>
|
<h4 class="modal-title" id="myModalLabel">Agregar Observación</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<asp:UpdatePanel ID="UpBodyEstatus" UpdateMode="Conditional" runat="server">
|
<asp:UpdatePanel ID="UpBodyEstatus" UpdateMode="Conditional" runat="server">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="form-group form-md-line-input input-iconright" style="margin-bottom:5px">
|
<div class="form-group form-md-line-input input-iconright" style="margin-bottom: 5px">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
<label style="margin-bottom: 0; font-size: 13px; color: #888888; opacity: 1; bottom: auto;">Observación Adicional por Partida:</label>
|
<label style="margin-bottom: 0; font-size: 13px; color: #888888; opacity: 1; bottom: auto;">Observación Adicional por Partida:</label>
|
||||||
<br />
|
<br />
|
||||||
<asp:TextBox ID="TxtObservaciones" CssClass="form-control" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtObservaciones" CssClass="form-control" runat="server"></asp:TextBox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
<div class="modal-footer">
|
</div>
|
||||||
<asp:UpdatePanel ID="UpFooter" runat="server" UpdateMode="Conditional">
|
<div class="modal-footer">
|
||||||
<ContentTemplate>
|
<asp:UpdatePanel ID="UpFooter" runat="server" UpdateMode="Conditional">
|
||||||
<asp:LinkButton ID="BtnFacturar" runat="server" Text="Facturar Ahora" CssClass="btn btn-primary" ValidationGroup="GrpObligatorio"></asp:LinkButton>
|
<ContentTemplate>
|
||||||
<button id="btnCancelar" data-dismiss="modal" class="btn btn-default">Cancelar</button>
|
<asp:LinkButton ID="BtnFacturar" runat="server" Text="Facturar Ahora" CssClass="btn btn-primary" ValidationGroup="GrpObligatorio"></asp:LinkButton>
|
||||||
</ContentTemplate>
|
<button id="btnCancelar" data-dismiss="modal" class="btn btn-default">Cancelar</button>
|
||||||
</asp:UpdatePanel>
|
</ContentTemplate>
|
||||||
</div>
|
</asp:UpdatePanel>
|
||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
|
|||||||
@@ -202,22 +202,35 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
RegistraScript("$('#ex').removeClass('expand');$('#ex').addClass('collapse');$('.portlet-body').css('display', '');")
|
RegistraScript("$('#ex').removeClass('expand');$('#ex').addClass('collapse');$('.portlet-body').css('display', '');")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub ImgFacturarTodos_Click(sender As Object, e As EventArgs) Handles BtnFacturar.Click
|
Protected Sub ImgFacturarTodos_Click(sender As Object, e As EventArgs) Handles ImgFacturarTodos.Click
|
||||||
EjecutarFacturacion()
|
EjecutarFacturacion(FacturarTodos:=True)
|
||||||
|
Dim CveContrato As Integer = If(DdlContrato.SelectedValue.ToEntero <= 0, -1, DdlContrato.SelectedValue.ToEntero)
|
||||||
|
Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero <= 0, -1, DdlCliente.SelectedValue.ToEntero)
|
||||||
|
|
||||||
|
CargaDatos(CveContrato, CveCliente)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub btnFacturarAqui_Click(sender As Object, e As EventArgs) Handles BtnFacturar.Click
|
||||||
|
EjecutarFacturacion(FacturarTodos:=False)
|
||||||
|
|
||||||
|
Dim CveContrato As Integer = If(DdlContrato.SelectedValue.ToEntero <= 0, -1, DdlContrato.SelectedValue.ToEntero)
|
||||||
|
Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero <= 0, -1, DdlCliente.SelectedValue.ToEntero)
|
||||||
|
|
||||||
|
CargaDatos(CveContrato, CveCliente)
|
||||||
|
RegistraScript("$('#divAgregar').modal('hide')")
|
||||||
|
UpBodyEstatus.Update()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub EjecutarFacturacion()
|
Private Sub EjecutarFacturacion(Optional FacturarTodos As Boolean = False)
|
||||||
Dim FacturadoCorrecto = True
|
Dim FacturadoCorrecto = True
|
||||||
Dim sb As New StringBuilder()
|
Dim sb As New StringBuilder()
|
||||||
|
|
||||||
For Each row As GridViewRow In GvCiclosComerciales.Rows
|
For Each row As GridViewRow In GvCiclosComerciales.Rows
|
||||||
If row.FCCheckBox("chkDis").Checked Then
|
If FacturarTodos OrElse row.FCCheckBox("chkDis").Checked Then
|
||||||
|
|
||||||
Dim Resp = EmitirImprimir(row.DataKey("CveCicloComercial").ToString.ToEntero)
|
Dim Resp = EmitirImprimir(row.DataKey("CveCicloComercial").ToString.ToEntero)
|
||||||
|
|
||||||
For Each Msg In Resp.Mensajes
|
sb.AppendFormat("{0}</br></br>", Resp.Mensaje)
|
||||||
sb.AppendFormat("{0}</br></br>", Msg)
|
|
||||||
Next
|
|
||||||
|
|
||||||
If Not FacturadoCorrecto Then
|
If Not FacturadoCorrecto Then
|
||||||
If Mensaje = "" Then
|
If Mensaje = "" Then
|
||||||
@@ -234,155 +247,75 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
Else
|
Else
|
||||||
Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia)
|
Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim CveContrato As Integer = If(DdlContrato.SelectedValue.ToEntero <= 0, -1, DdlContrato.SelectedValue.ToEntero)
|
|
||||||
Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero <= 0, -1, DdlCliente.SelectedValue.ToEntero)
|
|
||||||
|
|
||||||
CargaDatos(CveContrato, CveCliente)
|
|
||||||
RegistraScript("$('#divAgregar').modal('hide')")
|
|
||||||
UpBodyEstatus.Update()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub btnFacturarAqui_Click(sender As Object, e As EventArgs)
|
|
||||||
EjecutarFacturacion()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Function EmitirImprimir(pCveCicloComercial As Integer) As Modelos.Factura.MMensajeFactura
|
|
||||||
Dim Resp As New Modelos.Factura.MMensajeFactura
|
Private Function EmitirImprimir(pCveCicloComercial As Integer) As MMensajeFacturacion
|
||||||
|
Dim Retorno As New MMensajeFacturacion
|
||||||
|
|
||||||
ViewState("CveCicloComercial") = pCveCicloComercial
|
ViewState("CveCicloComercial") = pCveCicloComercial
|
||||||
CreaObjetosVenta()
|
CreaObjetosVenta()
|
||||||
|
|
||||||
If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
|
If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
|
||||||
Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
|
||||||
ObjFactura = Nothing
|
ObjFactura = Nothing
|
||||||
Return Resp
|
Return Retorno
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If ObjFactura.CveCliente > 0 Then
|
If ObjFactura.CveCliente > 0 Then
|
||||||
If ObjFactura.DtDetalle.Rows.Count > 0 Then
|
If ObjFactura.DtDetalle.Rows.Count > 0 Then
|
||||||
|
Dim TieneError As Boolean = False
|
||||||
|
Dim RespFactura As Modelos.Factura.MMensajeFactura = Nothing
|
||||||
|
|
||||||
|
Try
|
||||||
|
RespFactura = ObjFactura.EmitirFactura(Timbrar:=False)
|
||||||
|
|
||||||
|
If RespFactura IsNot Nothing AndAlso RespFactura.CveVenta <= 0 OrElse RespFactura.TieneError Then
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
TieneError = True
|
||||||
|
OnError("Ocurrió un error al generar la factura", ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
If Not TieneError AndAlso RespFactura.CveVenta > 0 Then
|
||||||
|
Retorno.CveVenta = RespFactura.CveVenta
|
||||||
|
Retorno.SerieFolio = RespFactura.SerieFolio
|
||||||
|
Retorno.SeTimbro = ObjFactura.TimbrarFactura()
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim SbMensajes As New StringBuilder
|
||||||
|
|
||||||
|
If Not TieneError Then
|
||||||
|
SbMensajes.AppendFormat("La factura <a class=""Texto"" target='_blank' href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a> se guardo correctamente.", Retorno.CveVenta, Retorno.SerieFolio)
|
||||||
|
|
||||||
|
If Not Retorno.SeTimbro Then
|
||||||
|
SbMensajes.AppendFormat("<br/> La factura no se pudo timbrar.")
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
SbMensajes.Append("Ocurrió un error al generar la factura.")
|
||||||
|
If RespFactura IsNot Nothing Then
|
||||||
|
For Each msg As String In RespFactura.Mensajes
|
||||||
|
SbMensajes.Append(msg)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Retorno.Mensaje = SbMensajes.ToString()
|
||||||
|
|
||||||
Resp = ObjFactura.EmitirFactura()
|
|
||||||
|
|
||||||
'Dim ObjVentas As New ClsVentas()
|
|
||||||
'Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
|
|
||||||
'Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
|
|
||||||
'Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL())
|
|
||||||
'Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL())
|
|
||||||
'Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
|
|
||||||
'Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL())
|
|
||||||
'Dim ObjContPaq As ClsContPAQi = Nothing
|
|
||||||
''Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
|
|
||||||
'ErrorList = New List(Of String)
|
|
||||||
'MensajeAlert = New StringBuilder
|
|
||||||
|
|
||||||
|
|
||||||
''CONTABILIDAD AUTOMATICA Y AC
|
|
||||||
'If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
|
|
||||||
' ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
|
|
||||||
'End If
|
|
||||||
|
|
||||||
|
|
||||||
''GUARDA VENTA
|
|
||||||
'GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS)
|
|
||||||
|
|
||||||
'If pCveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
|
|
||||||
' If Not ObjContr.CicloComercialUpdate(pCveCicloComercial, True, UsuarioActual.CveEmpresa) Then
|
|
||||||
' ErrorList.Add("No se pudo actualizar ")
|
|
||||||
' End If
|
|
||||||
'End If
|
|
||||||
|
|
||||||
'If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then
|
|
||||||
' ObjVentas.Commit()
|
|
||||||
' If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
|
|
||||||
' ViewState("CveVenta") = ObjFactura.CveVenta
|
|
||||||
|
|
||||||
|
|
||||||
' Dim SeTimbro As Boolean = False
|
|
||||||
' 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
|
|
||||||
|
|
||||||
' If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then
|
|
||||||
' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
|
|
||||||
|
|
||||||
' Dim sw As New Diagnostics.Stopwatch
|
|
||||||
' sw.Start()
|
|
||||||
|
|
||||||
' 'FACTURA INGRESO/EGRESO
|
|
||||||
' Dim ObjTimbrado As New Timbrado
|
|
||||||
|
|
||||||
|
|
||||||
' SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
|
|
||||||
|
|
||||||
' sw.Stop()
|
|
||||||
' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC)
|
|
||||||
' End If
|
|
||||||
|
|
||||||
|
|
||||||
' 'MENSAJE PRINCIPAL
|
|
||||||
' MensajeAlert.AppendFormat(String.Format("<br/>La {0}: <b>{1}</b> se generó correctamente.<br/><br/>", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
|
|
||||||
|
|
||||||
|
|
||||||
' If SeTimbro Then
|
|
||||||
' 'XML
|
|
||||||
' Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
|
|
||||||
' If File.Exists(ArchivoXML) Then
|
|
||||||
' MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar XML</a></li></ul>", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' 'IMPRESION
|
|
||||||
' GeneraPDFFactura(False)
|
|
||||||
' Else
|
|
||||||
' MensajeAlert.AppendFormat("La factura no se pudo timbrar.</b> Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.")
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' 'MUESTA ALERT OK
|
|
||||||
' Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";")
|
|
||||||
' retorno = True
|
|
||||||
' ObjFactura = Nothing
|
|
||||||
' Else
|
|
||||||
' ObjVentas.RollBack()
|
|
||||||
' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
|
|
||||||
|
|
||||||
' For Each ErrorItem In ErrorList
|
|
||||||
' Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
|
|
||||||
' Next
|
|
||||||
|
|
||||||
' 'MUESTA ALERT ERROR
|
|
||||||
' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' ObjVentas.Dispose()
|
|
||||||
' ObjConta.Dispose()
|
|
||||||
' ObjInventario.Dispose()
|
|
||||||
' ObjContr.Dispose()
|
|
||||||
' ErrorList = Nothing
|
|
||||||
' MensajeAlert = Nothing
|
|
||||||
' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
|
|
||||||
'Else
|
|
||||||
' ObjVentas.RollBack()
|
|
||||||
' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
|
|
||||||
|
|
||||||
' For Each ErrorItem In ErrorList
|
|
||||||
' Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
|
|
||||||
' Next
|
|
||||||
|
|
||||||
' 'MUESTA ALERT ERROR
|
|
||||||
' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
|
|
||||||
' ObjVentas.Dispose()
|
|
||||||
' ObjConta.Dispose()
|
|
||||||
' ObjInventario.Dispose()
|
|
||||||
' ObjContr.Dispose()
|
|
||||||
' 'ObjFolios.Dispose()
|
|
||||||
' ErrorList = Nothing
|
|
||||||
' MensajeAlert = Nothing
|
|
||||||
' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
|
|
||||||
'End If
|
|
||||||
Else
|
Else
|
||||||
Mensaje = "No se pudo completar facturación por que no se encontraron partidas "
|
Retorno.Mensaje = "No se pudo completar facturación por que no se encontraron partidas "
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If ObjFactura IsNot Nothing Then
|
||||||
|
ObjFactura.Dispose()
|
||||||
|
End If
|
||||||
|
|
||||||
TmpDT.Clear()
|
TmpDT.Clear()
|
||||||
Return Resp
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
@@ -500,13 +433,13 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
ObjFactura.Folio = -1
|
ObjFactura.Folio = -1
|
||||||
ObjFactura.Serie = "-1"
|
ObjFactura.Serie = "-1"
|
||||||
ObjFactura.CveMesa = -1
|
ObjFactura.CveMesa = -1
|
||||||
ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate
|
ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate 'If(DR("FechaVenc").ToString.ToDate > Now, Now, DR("FechaVenc").ToString.ToDate)
|
||||||
ObjFactura.CvePrePoliza = -1
|
ObjFactura.CvePrePoliza = -1
|
||||||
ObjFactura.CveMetodoPago = 1
|
ObjFactura.CveMetodoPago = 1
|
||||||
ObjFactura.MetodoPago = "Efectivo"
|
ObjFactura.MetodoPago = "Efectivo"
|
||||||
ObjFactura.FechaPago = DateTime.Today
|
ObjFactura.FechaPago = DateTime.Today
|
||||||
ObjFactura.MotivoDescuento = ""
|
ObjFactura.MotivoDescuento = ""
|
||||||
ObjFactura.Observaciones = TxtObservaciones.Text + " " + DR("Observaciones").ToString
|
ObjFactura.Observaciones = If(String.IsNullOrEmpty(TxtObservaciones.Text), "", TxtObservaciones.Text + " ") + DR("Observaciones").ToString
|
||||||
ObjFactura.FechaEjecucion = DateTime.Today
|
ObjFactura.FechaEjecucion = DateTime.Today
|
||||||
'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {1}")
|
'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {1}")
|
||||||
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
|
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
|
||||||
@@ -638,7 +571,10 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
ObjFactura.SetSubProyecto(Me)
|
ObjFactura.SetSubProyecto(Me)
|
||||||
|
|
||||||
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
|
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
|
||||||
|
ObjFactura.FemsaFactura = New Modelos.FemsaFactura() With {
|
||||||
|
.AplicaFEMSA = False,
|
||||||
|
.FEMSA_Version = 1
|
||||||
|
}
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre
|
Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre
|
||||||
@@ -764,372 +700,11 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
Return Timbre
|
Return Timbre
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub GuardarVenta(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, factura As Modelos.Factura, TmpDTDetalle As DataTable, CveNCaVincular As Integer, objContPaqi As ClsContPAQi, Optional ObjBancos As ClsBancos = Nothing, Optional ObjOS As ClsOS = Nothing)
|
Public Class MMensajeFacturacion
|
||||||
|
Public Property CveVenta As Integer = -1
|
||||||
Dim Msgok As New StringBuilder
|
Public Property SerieFolio As String = ""
|
||||||
Dim CveAlmacenTraspasoOrigen As Integer = -1
|
Public Property Mensaje As String = ""
|
||||||
Dim CveAlmacenTraspasoDestino As Integer = -1
|
Public Property SeTimbro As Boolean = False
|
||||||
Dim EsDevolucionVenta = -1
|
End Class
|
||||||
Dim CveSubProyecto = TmpDTDetalle.Rows(0)("CveSubProyecto").ToString.ToEntero
|
|
||||||
|
|
||||||
|
|
||||||
factura.CvePrePoliza = ObjConta.AddPrePolizas("Contratos/FacturacionMasiva", factura.CvePlantillaPoliza, factura.Total, factura.Total, factura.CveMoneda, factura.Fecha, factura.Cliente.Nombre, factura.CveUsuario, factura.CveEmpresa)
|
|
||||||
If Not ObjVentas.AddVenta(factura.TipoDocto, factura.Folio, factura.CveCliente, factura.CveClienteSucursal, factura.SubTotalTC, factura.DescuentoTC,
|
|
||||||
factura.AmortizacionTC, factura.IVATC, factura.RetIVATC, factura.RetISRTC,
|
|
||||||
factura.TotalTC, factura.CveMoneda, factura.TipoCambio, factura.CveMetodoPago, factura.CondicionesPago, factura.FormaPago, factura.FechaPago, factura.Fecha, factura.MotivoDescuento,
|
|
||||||
factura.Observaciones, factura.FechaEjecucion, factura.CveVendedor, factura.Alfa1, factura.Alfa2,
|
|
||||||
factura.Alfa3, factura.Num1, factura.Num2, factura.Num3,
|
|
||||||
factura.Fech1, factura.Fech2, factura.Fech3, factura.CveCorte, factura.CveMesa, factura.NumeroPersonas, factura.CvePrePoliza, factura.CveUsuario, factura.CveEmpresa,
|
|
||||||
AtencionA:=factura.AtencionA, TelefonoGenerico:="", CveContrato:=factura.CveContrato, CveVentaPadre:=factura.CveVentaPadre, Det_FechaOrdenCompra:=factura.Det_FechaOrdenCompra, Det_OrdenCompra:=factura.Det_OrdenCompra, otros:=factura.Otros,
|
|
||||||
Entrega:="", Vigencia:=MinFecha,
|
|
||||||
CveAlmacenTraspasoDestino:=CveAlmacenTraspasoDestino, CveAlmacenTraspasoOrigen:=CveAlmacenTraspasoOrigen, CveDireccionEnvio:=-1, CveOC:=-1, IEPS:=factura.IEPSTC, Serie:=factura.Serie, CveCondicionEntrega:=-1,
|
|
||||||
PedidoContrato:="", CveSubProyecto:=CveSubProyecto, CveSubProyectoCobranza:=CveSubProyecto, CveSubProyectoEjecucion:=CveSubProyecto, CveFormaPago33:=factura.CveFormaPago33,
|
|
||||||
CveMetodoPago33:=factura.CveMetodoPago33, CveUsoCFDI:=factura.CveUsoCFDI) Then
|
|
||||||
ErrorList.Add("Ocurrió un error al Generar la Venta.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
If ErrorList.Count = 0 AndAlso ObjVentas.CveVenta > 0 Then
|
|
||||||
|
|
||||||
factura.CveVenta = ObjVentas.CveVenta
|
|
||||||
factura.Serie = ObjVentas.Serie
|
|
||||||
factura.Folio = ObjVentas.Folio
|
|
||||||
ViewState("VentaFolio") = ObjVentas.SerieFolio
|
|
||||||
|
|
||||||
'Se agregan los PS
|
|
||||||
For Each Row As DataRow In TmpDTDetalle.Rows
|
|
||||||
Dim Observacion As String = Row("Observacion").ToString
|
|
||||||
If TxtObservaciones.Text.Trim <> "" Then
|
|
||||||
Observacion = $"{Observacion} {TxtObservaciones.Text}"
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjVentas.AddVentaDetalle(ObjVentas.CveVenta, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("CveUM").ToString.ToEntero,
|
|
||||||
Row("PU").ToString.ToDouble(If(ObjFactura.ConvertirPesos, factura.TipoCambio, 1)), Row("IVA").ToString.ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)), Math.Round((Row("Total").ToString.ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)) * (1 + Row("IVA").ToString.ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)))), 6),
|
|
||||||
Observacion, 0, 0, Row("CveSubProyecto").ToString.ToEntero, -1,
|
|
||||||
TiempoEntrega:="", CveVentaDetallePadre:=-1, CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CvePromocionDetalle:=-1, IEPS:=Row("ImporteIEPS").ToString.ToDouble,
|
|
||||||
ImporteRetIVA:=Row("ImporteRetIVA").ToString.ToDouble, ImporteRetISR:=Row("ImporteRetISR").ToString.ToDouble,
|
|
||||||
PorcentajeIEPS:=Row("PorcentajeIEPS").ToString.ToDouble, PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString.ToDouble, PorcentajeRetISR:=Row("PorcentajeRetISR").ToString.ToDouble) Then
|
|
||||||
ErrorList.Add("Ocurrió un error al agregar un Producto o Servicio a la Factura.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
|
||||||
Exit For
|
|
||||||
Else
|
|
||||||
Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Row("Consec").ToString}")(0)
|
|
||||||
TmpDr("CveVentaDetalle") = ObjVentas.CveVentaDetalle
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
GuardarContratoAvanceEstimaciones(ObjVentas, factura, ErrorList, 1)
|
|
||||||
|
|
||||||
If ErrorList.Count = 0 Then
|
|
||||||
'prepoliza
|
|
||||||
GuardarVentaPrePolizas(ObjConta, factura, TmpDTDetalle, CveNCaVincular, objContPaqi, ObjBancos, ObjVentas)
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
Private Sub GuardarVentaPrePolizas(ObjConta As ClsContabilidad, factura As Modelos.Factura, TmpDTDetalleMovimientos As DataTable, CveNCaVincular As Integer, objContPaqi As ClsContPAQi, Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing)
|
|
||||||
|
|
||||||
Dim CveIE As Integer = -1
|
|
||||||
Dim DT As DataTable = Nothing
|
|
||||||
|
|
||||||
|
|
||||||
Dim CveConceptoAfectacion As Integer = 1 'Cliente
|
|
||||||
Dim CveConceptoAntCli As Integer = 3 'Anticipo Cliente
|
|
||||||
Dim CveConceptoVenta As Integer = 4 'Venta
|
|
||||||
Dim CveConceptoCanAnt As Integer = 11 'Cancelacion Anticipos
|
|
||||||
Dim CveConceptoDSV As Integer = 12 ' DSV
|
|
||||||
Dim CveConceptoIVA As Integer = 13 'IVA Trasladado
|
|
||||||
Dim CveConceptoRetIVA As Integer = 8 'Ret IVA
|
|
||||||
Dim CveConceptoRetISR As Integer = 9 'Ret ISR
|
|
||||||
'P R E P O L I Z A S
|
|
||||||
If factura.CvePrePoliza > 0 Then
|
|
||||||
|
|
||||||
If ProcesoPrepolizas(ObjConta, factura, CveIE, TmpDTDetalleMovimientos, objContPaqi, 1, ObjBancos, ObjVentas) Then
|
|
||||||
ErrorList.Add("Ocurrió un error al agregar los Movimientos de la prepoliza.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
ErrorList.Add("Ocurrió un error al agregar los Movimientos de la prepoliza.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Function ProcesoPrepolizas(ObjConta As ClsContabilidad, ObjFactura As Modelos.Factura, CveIE As Integer, TmpDTDetalle As DataTable, objContPaqi As ClsContPAQi, Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing) As Boolean
|
|
||||||
|
|
||||||
Dim DT As DataTable
|
|
||||||
Dim CvePlantilaPoliza As Integer
|
|
||||||
Dim PorcentajeAmortizacion As Decimal = 0
|
|
||||||
Dim sumaAmorticaciones As Decimal = 0
|
|
||||||
Dim ivaTrasladado As Decimal = 0
|
|
||||||
Dim retIvaTrasladado As Decimal = 0
|
|
||||||
Dim retIsrTrasladado As Decimal = 0
|
|
||||||
Dim ErrorPrepoliza As Boolean = False
|
|
||||||
Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:<br><br>"
|
|
||||||
Dim idCuentaContabilizacion As Integer = 1
|
|
||||||
Dim tipoCambio As Decimal
|
|
||||||
Dim CuentasContablesInvalidas As New StringBuilder
|
|
||||||
|
|
||||||
If ObjFactura.TipoDocto = "Ing" Or ObjFactura.TipoDocto = "Ant" Or ObjFactura.TipoDocto = "Com" Then
|
|
||||||
CvePlantilaPoliza = 4
|
|
||||||
ElseIf ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
|
||||||
CvePlantilaPoliza = 7
|
|
||||||
ElseIf ObjFactura.TipoDocto = "Rem" Then
|
|
||||||
CvePlantilaPoliza = 4
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ObjFactura.CveMoneda = 2 Then
|
|
||||||
tipoCambio = GlobalTipoCambio(ObjFactura.Fecha).ToString.ToDecimal
|
|
||||||
Else
|
|
||||||
tipoCambio = 1
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim ConceptoContable As Integer
|
|
||||||
Dim TipoMovimiento As Boolean
|
|
||||||
Dim importeMovimiento As Decimal
|
|
||||||
Dim FechaMovimiento As Date = Date.Today
|
|
||||||
Dim IdCtaContable As Integer
|
|
||||||
Dim CveCuenta As Integer
|
|
||||||
Dim IdCtaContableCliente As Integer
|
|
||||||
Dim Concepto As String = ViewState("VentaFolio").ToString
|
|
||||||
Dim Referencia As String = ViewState("VentaFolio").ToString
|
|
||||||
Dim Fecha = ObjFactura.Fecha
|
|
||||||
|
|
||||||
Dim importeMX As Decimal
|
|
||||||
Dim Multiplicador As Integer
|
|
||||||
'Dim CveIEPago As Integer
|
|
||||||
' Dim FolioIE As Long
|
|
||||||
|
|
||||||
If ObjConta.GetPlantillaConceptos(ObjFactura.CveEmpresa, CvePlantilaPoliza) Then
|
|
||||||
For Each Row As DataRow In ObjConta.DtResultados.Rows
|
|
||||||
|
|
||||||
ConceptoContable = Row("CveConcepto").ToString.ToEntero
|
|
||||||
TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
|
|
||||||
importeMovimiento = 0
|
|
||||||
IdCtaContable = 0
|
|
||||||
CveCuenta = 0
|
|
||||||
Multiplicador = (Row("Multiplicador").ToString.ToEntero)
|
|
||||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", "")
|
|
||||||
|
|
||||||
Dim PorcentajeImpuesto As Decimal = 0
|
|
||||||
|
|
||||||
Select Case ConceptoContable
|
|
||||||
Case 1 'Cliente
|
|
||||||
If ObjFactura.TipoDocto <> "Egs" Then
|
|
||||||
importeMovimiento = (ObjFactura.Total) * ValorMultiplicador
|
|
||||||
importeMX = importeMovimiento * tipoCambio * Multiplicador
|
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
|
||||||
|
|
||||||
If tipoCambio = 1 Then
|
|
||||||
IdCtaContable = ObjFactura.Cliente.IdCtaContClientes
|
|
||||||
Else
|
|
||||||
IdCtaContable = ObjFactura.Cliente.IdCtaContComplementaria
|
|
||||||
If importeMovimiento <> 0 AndAlso IdCtaContable > 0 Then
|
|
||||||
importeMX = importeMovimiento
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, 0, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMovimiento * tipoCambio - importeMovimiento, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento)) Then
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
IdCtaContable = ObjFactura.Cliente.IdCtaContMonedaExtranjera
|
|
||||||
End If
|
|
||||||
IdCtaContableCliente = IdCtaContable
|
|
||||||
End If
|
|
||||||
|
|
||||||
Case 4 'Venta Clasificacion
|
|
||||||
|
|
||||||
If ObjFactura.TipoDocto <> "Ant" Then
|
|
||||||
DT = TmpDTDetalle.FiltraParametros($"CvePS <> {0}", "", {"CveClasificacion", "CveSubProyecto"})
|
|
||||||
If DT.Rows.Count > 0 Then
|
|
||||||
'Se agrega movimiento separado por la cuenta de ventas (ER)
|
|
||||||
For Each Row2 As DataRow In DT.Rows
|
|
||||||
importeMovimiento = (TmpDTDetalle.SUM("Total", String.Format("CveClasificacion = {0} AND CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString.ToDecimal) * ValorMultiplicador
|
|
||||||
importeMX = importeMovimiento * tipoCambio * Multiplicador
|
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
|
||||||
Concepto = $"{ViewState("VentaFolio").ToString} {If(Row2("CveClasificacion").ToString.ToEntero > 0, GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = {Row2("CveClasificacion").ToString}"), "")} - {If(Row2("CveSubProyecto").ToString.ToEntero > 0, GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto", $"CveSubProyecto = {Row2("CveSubProyecto").ToString}"), "Sin SubProyecto Asignado")}"
|
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
|
||||||
IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaIngresos", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero
|
|
||||||
If importeMovimiento <> 0 Then
|
|
||||||
|
|
||||||
If IdCtaContable <= 0 Then
|
|
||||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString + GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = {Row2("CveClasificacion").ToString}"))
|
|
||||||
idCuentaContabilizacion = 0
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento)) Then
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
Else
|
|
||||||
ViewState("SeGuardoPrePoliza") = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
importeMovimiento = 0
|
|
||||||
|
|
||||||
Case 8 'Ret IVA por Trasladar
|
|
||||||
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
|
|
||||||
importeMovimiento = ObjFactura.RetIVA * ValorMultiplicador
|
|
||||||
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
|
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
|
||||||
|
|
||||||
'Contabilidad ContPAQ
|
|
||||||
If IdCtaContRetIVA > 0 Then
|
|
||||||
IdCtaContable = IdCtaContRetIVA
|
|
||||||
Else
|
|
||||||
If ObjConta.GetRetCuenta(ConceptoContable, ObjFactura.CveEmpresa) Then
|
|
||||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
|
||||||
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Contabilidad SIG
|
|
||||||
If CveCuentaRetIVA > 0 Then
|
|
||||||
CveCuenta = CveCuentaRetIVA
|
|
||||||
Else
|
|
||||||
If ObjConta.GetRetCuenta(ConceptoContable, ObjFactura.CveEmpresa) Then
|
|
||||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
|
||||||
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacionSIG").ToString.ToEntero
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Case 9 'Ret ISR por Trasladar
|
|
||||||
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
|
|
||||||
importeMovimiento = ObjFactura.RetISR * ValorMultiplicador
|
|
||||||
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
|
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
|
||||||
|
|
||||||
'Contabilidad ContPAQ
|
|
||||||
If IdCtaContRetISR > 0 Then
|
|
||||||
IdCtaContable = IdCtaContRetISR
|
|
||||||
Else
|
|
||||||
If ObjConta.GetRetCuenta(ConceptoContable, ObjFactura.CveEmpresa) Then
|
|
||||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
|
||||||
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Contabilidad SIG
|
|
||||||
If CveCuentaRetISR > 0 Then
|
|
||||||
CveCuenta = CveCuentaRetISR
|
|
||||||
Else
|
|
||||||
If ObjConta.GetRetCuenta(ConceptoContable, ObjFactura.CveEmpresa) Then
|
|
||||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
|
||||||
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Case 13 'Iva por Trasladar
|
|
||||||
importeMovimiento = ObjFactura.IVA * ValorMultiplicador
|
|
||||||
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
|
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
|
||||||
IdCtaContable = UsuarioActual.Empresa.IdCuentaIVAxTrasladar
|
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
|
||||||
PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIVA").ToDecimal
|
|
||||||
|
|
||||||
Case 38 'IEPS por Trasladar
|
|
||||||
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
|
|
||||||
importeMovimiento = ObjFactura.IEPS * ValorMultiplicador
|
|
||||||
importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2)
|
|
||||||
FechaMovimiento = ObjFactura.Fecha
|
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
|
||||||
If importeMovimiento > 0 AndAlso ObjConta.GetRetCuenta(ConceptoContable, ObjFactura.CveEmpresa) Then
|
|
||||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
|
||||||
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladar").ToString.ToEntero
|
|
||||||
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladarSIG").ToString.ToEntero
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIEPS").ToDecimal
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Select
|
|
||||||
|
|
||||||
If importeMovimiento <> 0 Then
|
|
||||||
|
|
||||||
If IdCtaContable <= 0 Then
|
|
||||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
|
||||||
idCuentaContabilizacion = 0
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), PorcentajeImpuesto:=PorcentajeImpuesto) Then
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
Else
|
|
||||||
ViewState("SeGuardoPrePoliza") = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Next
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return ErrorPrepoliza
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Sub GeneraPDFFactura(EnviaCorreo As Boolean)
|
|
||||||
|
|
||||||
|
|
||||||
'If Not ImprimeAlert Then
|
|
||||||
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/Factura.rdlc", UsuarioActual.Empresa.Ruta))
|
|
||||||
Dim Archivo2 As New System.IO.FileInfo(String.Format("{0}Formatos/Remision.rdlc", UsuarioActual.Empresa.Ruta))
|
|
||||||
|
|
||||||
'CASO NORMAL NEW
|
|
||||||
If Archivo.Exists Or Archivo2.Exists Then
|
|
||||||
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", ObjFactura.CveVenta)))
|
|
||||||
Else
|
|
||||||
MensajeAlert.Append("Ocurrió un error al generar el PDF. Por favor vuelva a entrar a la factura para imprimir el PDF. ")
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Dim pdf As Byte() = Nothing
|
|
||||||
|
|
||||||
'GUARDA PDF
|
|
||||||
Dim LocalSerieFolio As String = String.Empty
|
|
||||||
Dim LocalTipoDocto As String = String.Empty
|
|
||||||
|
|
||||||
|
|
||||||
'TIMBRADO NUEVO
|
|
||||||
Try
|
|
||||||
pdf = PdfFactura(ObjFactura)
|
|
||||||
' File.WriteAllBytes(String.Format("{0}PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio), pdf)
|
|
||||||
Catch ex As Exception
|
|
||||||
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
|
|
||||||
End Try
|
|
||||||
|
|
||||||
LocalSerieFolio = ObjFactura.SerieFolio
|
|
||||||
LocalTipoDocto = ObjFactura.TipoDocto
|
|
||||||
'End If
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub GuardarContratoAvanceEstimaciones(ObjVentas As ClsVentas, factura As Modelos.Factura, ErrorList As List(Of String), Multiplicador As Integer, Optional CrearAvance As Boolean = False)
|
|
||||||
|
|
||||||
If factura.CveContrato > 0 Then
|
|
||||||
Dim ObjContratos As New ClsContratos(ObjVentas.IniciaTransacSQL())
|
|
||||||
Dim CveEstimacion As Integer = -1
|
|
||||||
|
|
||||||
If ObjContratos.AddEstimaciones(factura.CveContrato, factura.Fecha, -1, factura.CveVenta, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
||||||
CveEstimacion = ObjContratos.DtResultados(0)("CveEstimacion").ToString.ToEntero
|
|
||||||
|
|
||||||
For Each row As DataRow In TmpDT.Rows
|
|
||||||
If Not ObjContratos.AddContratosAvance(row("CveContratoDetalle").ToString.ToEntero, row("Cantidad").ToString.ToEntero * Multiplicador, factura.Fecha, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then
|
|
||||||
ErrorList.Add("Ocurrió un error al agregar los avances")
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
Else
|
|
||||||
ErrorList.Add("Ocurrió un error al agregar las estimaciones")
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
Reference in New Issue
Block a user