- mejora timbradoretención

This commit is contained in:
2024-09-03 05:50:17 -07:00
parent 4c7160e83d
commit 30a1a3a8d5
3 changed files with 72 additions and 24 deletions

View File

@@ -27,7 +27,6 @@ Public Class CFDITimbreRetenciones
Public ReadOnly Property TotalImpuestosGravado As Decimal Public ReadOnly Property TotalImpuestosGravado As Decimal
Get Get
Return (From c In RetencionesImpuestos Return (From c In RetencionesImpuestos
Where c.ImpuestoRetencion = "001"
Select c.MontoRetencion).Sum Select c.MontoRetencion).Sum
End Get End Get
End Property End Property
@@ -35,7 +34,6 @@ Public Class CFDITimbreRetenciones
Public ReadOnly Property TotalImpuestosRetenidos As Decimal Public ReadOnly Property TotalImpuestosRetenidos As Decimal
Get Get
Return (From c In RetencionesImpuestos Return (From c In RetencionesImpuestos
Where c.ImpuestoRetencion = "001"
Select c.MontoRetencion).Sum Select c.MontoRetencion).Sum
End Get End Get
End Property End Property

View File

@@ -24,6 +24,14 @@
</asp:Content> </asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
ddd
<asp:GridView ID="GvLista" runat="server" DataKeyNames="CveTimbre">
<Columns>
<asp:BoundField DataField="SerieFolio" HeaderText="TipoImpuesto" />
<asp:BoundField DataField="Fecha" HeaderText="BaseRetencion" />
</Columns>
</asp:GridView>
<div id="DModalRetencion" class="modal ADS fade" role="dialog"> <div id="DModalRetencion" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModal" UpdateMode="Conditional"> <asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModal" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
@@ -131,27 +139,40 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<asp:GridView ID="GvD" runat="server" DataKeyNames="TipoImpuesto,ClaveTipoImpuesto,BaseRetencion,ClaveTipoPago,TipoPago,ImpuestoRetenido"></asp:GridView> <asp:GridView ID="GvD" runat="server" AutoGenerateColumns="false" DataKeyNames="TipoImpuesto,ClaveTipoImpuesto,BaseRetencion,ClaveTipoPagoRetencion,TipoPagoRetencion,MontoRetencion">
<Columns>
<asp:BoundField DataField="TipoImpuesto" HeaderText="TipoImpuesto" />
<asp:BoundField DataField="BaseRetencion" HeaderText="BaseRetencion" />
<asp:BoundField DataField="TipoPagoRetencion" HeaderText="TipoPagoRetencion" />
<asp:BoundField DataField="MontoRetencion" HeaderText="MontoRetencion" />
</Columns>
</asp:GridView>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtTotal1.ClientID.ToString()%>">Base Impuesto:</label> <label for="<%= TxtTotal1.ClientID.ToString()%>">Total monto operaciones:</label>
<asp:TextBox ID="TxtTotal1" runat="server" Width="100px"></asp:TextBox> <asp:TextBox ID="TxtTotal1" runat="server" Width="80px" Text="0.00"></asp:TextBox>
</div> </div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtTotal2.ClientID.ToString()%>">Base Impuesto:</label> <label for="<%= TxtTotalGravado.ClientID.ToString()%>">Total Gravado:</label>
<asp:TextBox ID="TxtTotal2" runat="server" Width="100px"></asp:TextBox> <asp:TextBox ID="TxtTotalGravado" runat="server" Width="80px" Text="0.00"></asp:TextBox>
</div> </div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtTotal3.ClientID.ToString()%>">Base Impuesto:</label> <label for="<%= TxtTotalExento.ClientID.ToString()%>">Total Exento:</label>
<asp:TextBox ID="TxtTotal3" runat="server" Width="100px"></asp:TextBox> <asp:TextBox ID="TxtTotalExento" runat="server" Width="80px" Text="0.00"></asp:TextBox>
</div>
</div>
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtTotalRetenciones.ClientID.ToString()%>">Total Retenciones:</label>
<asp:TextBox ID="TxtTotalRetenciones" runat="server" Width="80px" Text="0.00"></asp:TextBox>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -42,10 +42,23 @@ Partial Class General_TimbraRetencion
Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
EnviarNotificacionWhatsApp("6621430964", "Hola")
DdlClientes.setEsWebService(True) DdlClientes.setEsWebService(True)
CargaDatos()
End If End If
End Sub End Sub
Private Sub CargaDatos()
Dim ObjGral As New ClsGenerales
If ObjGral.GetGralTimbre(-1, "Ret", Now.AddMonths(-1), Now, -1, UsuarioActual.CveEmpresa, -1) Then
Dim dt As DataTable = ObjGral.DtResultados
GvLista.DataSource = dt
End If
ObjGral.Dispose()
GvLista.DataBind()
End Sub
#Region "Timbra" #Region "Timbra"
Private Function TimbraRetencion(cfditimbre As CFDITimbreRetenciones, UsuarioActual As Usuario) As String Private Function TimbraRetencion(cfditimbre As CFDITimbreRetenciones, UsuarioActual As Usuario) As String
Dim sw As New Diagnostics.Stopwatch Dim sw As New Diagnostics.Stopwatch
@@ -234,7 +247,8 @@ Partial Class General_TimbraRetencion
Dim NombreArchivoXML As String = "" Dim NombreArchivoXML As String = ""
Dim objGrales As New ClsGenerales Dim objGrales As New ClsGenerales
objGrales.IniciaTransacSQL() objGrales.IniciaTransacSQL()
Dim tCveTimbre As Integer = objGrales.AddGralTimbre("Ret", 12679, cfditimbre.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim tCveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
Dim tCveTimbre As Integer = objGrales.AddGralTimbre("Ret", tCveSubProyecto, cfditimbre.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
NombreArchivoXML = $"{objGrales.SerieInsertada}-{objGrales.FolioInsertado}.xml" NombreArchivoXML = $"{objGrales.SerieInsertada}-{objGrales.FolioInsertado}.xml"
If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo) If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo)
@@ -283,6 +297,19 @@ Partial Class General_TimbraRetencion
Protected Sub BtnEmitirRetencion_Click(sender As Object, e As EventArgs) Protected Sub BtnEmitirRetencion_Click(sender As Object, e As EventArgs)
Dim dr As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=DdlClientes.SelectedValue.ToEntero).FiltroPrimero("")
Dim ReceptorRFC As String = ""
Dim ReceptorCP As String = ""
Dim ReceptorNombre As String = ""
If dr IsNot Nothing Then
ReceptorRFC = dr("RFC").ToString
ReceptorCP = dr("CP").ToString
ReceptorNombre = dr("Nombre").ToString
Else
Exit Sub
End If
Dim cfditimbre As New CFDITimbreRetenciones Dim cfditimbre As New CFDITimbreRetenciones
cfditimbre.Fecha = Now cfditimbre.Fecha = Now
cfditimbre.Retencion.ClaveRetencion = DdlClaveRetencion.SelectedValue cfditimbre.Retencion.ClaveRetencion = DdlClaveRetencion.SelectedValue
@@ -290,21 +317,23 @@ Partial Class General_TimbraRetencion
cfditimbre.Retencion.PeriodoMesFin = DdlPeriodoFin.SelectedValue cfditimbre.Retencion.PeriodoMesFin = DdlPeriodoFin.SelectedValue
cfditimbre.Retencion.PeriodoEjercicio = DdlEjercicio.SelectedValue.ToEntero cfditimbre.Retencion.PeriodoEjercicio = DdlEjercicio.SelectedValue.ToEntero
cfditimbre.Retencion.LugarExpedicion = UsuarioActual.Empresa.CP cfditimbre.Retencion.LugarExpedicion = UsuarioActual.Empresa.CP
cfditimbre.Receptor.RFCR = "AEMV690902NM5" cfditimbre.Receptor.RFCR = ReceptorRFC '"AEMV690902NM5"
cfditimbre.Receptor.NacionalidadR = "Nacional" cfditimbre.Receptor.NacionalidadR = "Nacional"
cfditimbre.Receptor.DomicilioFiscalR = "11950" cfditimbre.Receptor.DomicilioFiscalR = ReceptorCP '"11950"
cfditimbre.Receptor.NombreDenominacionR = "VERONICA MICHELLE ARMENTA MASON" cfditimbre.Receptor.NombreDenominacionR = ReceptorNombre '"VERONICA MICHELLE ARMENTA MASON"
cfditimbre.CFDIRelacionados.TipoRelacion = "01" cfditimbre.CFDIRelacionados.TipoRelacion = "01"
cfditimbre.CFDIRelacionados.UUID.Add("671fdb07-406a-42a6-9a89-40219f663ea1") cfditimbre.CFDIRelacionados.UUID.Add("671fdb07-406a-42a6-9a89-40219f663ea1")
cfditimbre.ISRCorrespondiente = 705
cfditimbre.RetencionesImpuestos.Add(New CFDIImpuestosRetenidos With {.MontoRetencion = 705, .BaseRetencion = 0, .ImpuestoRetencion = "01", .TipoPagoRetencion = "04"}) 'cfditimbre.RetencionesImpuestos.Add(New CFDIImpuestosRetenidos With {.MontoRetencion = 705, .BaseRetencion = 0, .ImpuestoRetencion = "01", .TipoPagoRetencion = "04"})
For Each gvr As GridViewRow In GvD.Rows For Each gvr As GridViewRow In GvD.Rows
Dim ret As New CFDIImpuestosRetenidos With {.BaseRetencion = gvr.DataKey("BaseRetencion").ToDecimal, Dim ret As New CFDIImpuestosRetenidos With {.BaseRetencion = gvr.DataKey("BaseRetencion").ToDecimal,
.ImpuestoRetencion = gvr.DataKey("ImpuestoRetencion")} .MontoRetencion = gvr.DataKey("MontoRetencion").ToDecimal,
.ImpuestoRetencion = gvr.DataKey("ClaveTipoImpuesto"),
.TipoPagoRetencion = gvr.DataKey("ClaveTipoPagoRetencion")}
cfditimbre.RetencionesImpuestos.Add(ret) cfditimbre.RetencionesImpuestos.Add(ret)
Next Next
cfditimbre.ISRCorrespondiente = cfditimbre.TotalImpuestosRetenidos
TimbraRetencion(cfditimbre, UsuarioActual) TimbraRetencion(cfditimbre, UsuarioActual)
@@ -320,21 +349,21 @@ Partial Class General_TimbraRetencion
DtDetalle.Columns.Add("TipoImpuesto", GetType(String)) DtDetalle.Columns.Add("TipoImpuesto", GetType(String))
DtDetalle.Columns.Add("ClaveTipoImpuesto", GetType(String)) DtDetalle.Columns.Add("ClaveTipoImpuesto", GetType(String))
DtDetalle.Columns.Add("BaseRetencion", GetType(Decimal)) DtDetalle.Columns.Add("BaseRetencion", GetType(Decimal))
DtDetalle.Columns.Add("ClaveTipoPago", GetType(String)) DtDetalle.Columns.Add("ClaveTipoPagoRetencion", GetType(String))
DtDetalle.Columns.Add("TipoPago", GetType(String)) DtDetalle.Columns.Add("TipoPagoRetencion", GetType(String))
DtDetalle.Columns.Add("ImpuestoRetenido", GetType(Decimal)) DtDetalle.Columns.Add("MontoRetencion", GetType(Decimal))
End Sub End Sub
Protected Sub BtnAgregar_Click(sender As Object, e As EventArgs) Protected Sub BtnAgregar_Click(sender As Object, e As EventArgs)
Dim dr As DataRow = DtDetalle.NewRow Dim dr As DataRow = DtDetalle.NewRow
dr("TipoImpuesto") = DdlTipoImpuesto.Text dr("TipoImpuesto") = DdlTipoImpuesto.SelectedItem.Text
dr("ClaveTipoImpuesto") = DdlTipoImpuesto.SelectedValue dr("ClaveTipoImpuesto") = DdlTipoImpuesto.SelectedValue
dr("BaseRetencion") = TxtBase.Text.ToDecimal dr("BaseRetencion") = TxtBase.Text.ToDecimal
dr("ClaveTipoPago") = DdlTipoPagoRet.SelectedValue dr("ClaveTipoPagoRetencion") = DdlTipoPagoRet.SelectedValue
dr("TipoPago") = DdlTipoPagoRet.Text dr("TipoPagoRetencion") = DdlTipoPagoRet.SelectedItem.Text
dr("ImpuestoRetenido") = TxtImpuestoRetenido.Text.ToDecimal dr("MontoRetencion") = TxtImpuestoRetenido.Text.ToDecimal
DtDetalle.Rows.Add(dr) DtDetalle.Rows.Add(dr)