-- cambios en registro rápido de facturas
This commit is contained in:
@@ -108,24 +108,22 @@
|
||||
|
||||
<div class="titlefiltros ">
|
||||
|
||||
<div class="row" style="padding-top: 10px">
|
||||
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:100px!important" >
|
||||
<div class="row" style="padding-top: 10px">
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Folio:
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<asp:TextBox ID="TxtFolio" runat="server" MaxLength="50" CssClass="form-control input-sm"></asp:TextBox>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:100px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Proveedor:
|
||||
</div>
|
||||
<div class="col-md-2 ">
|
||||
<asp:TextBox ID="TxtProveedor" runat="server" MaxLength="50" CssClass="form-control input-sm"></asp:TextBox>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:100px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Fecha I.:
|
||||
</div>
|
||||
<div class="col-md-1" style="min-width:125px!important;margin-left:-9px!important">
|
||||
@@ -145,10 +143,10 @@
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:130px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Fecha F.:
|
||||
</div>
|
||||
<div class="col-md-1" style="min-width:125px!important;margin-left:-1px!important">
|
||||
<div class="col-md-1" style="min-width:120px!important;margin-left:-1px!important">
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;margin-top:-7px"">
|
||||
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
@@ -163,7 +161,7 @@
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:100px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Estatus:
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
@@ -177,21 +175,14 @@
|
||||
<asp:ListItem Text="Omitidas" Value="5"></asp:ListItem>
|
||||
<asp:ListItem Text="Todas" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body" style="display: none;">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:100px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Responsable:
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@@ -199,7 +190,7 @@
|
||||
Class="form-control select2me input-sm"></asp:DropDownList>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:100px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Clasificación:
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
@@ -207,7 +198,7 @@
|
||||
Class="form-control select2me input-sm"></asp:DropDownList>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:100px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Tipo Prov:
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@@ -219,7 +210,7 @@
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:130px!important" >
|
||||
<div class="col-md-1 input-sm truncate" style="text-align:right;max-width:80px!important" >
|
||||
Tipo Comprobante:
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@@ -229,9 +220,7 @@
|
||||
<asp:ListItem Selected="False" Text="Egresos" Value="E"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
@@ -281,20 +270,24 @@
|
||||
<asp:ListItem Value="6" Selected="True" >Caja Chica</asp:ListItem>
|
||||
<asp:ListItem Value="2">Viáticos</asp:ListItem>
|
||||
</asp:RadioButtonList>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="form-group form-md-line-input input-iconright" >
|
||||
|
||||
<asp:DropDownList ID="DdlRetIVAConcepto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" Style="width: 100%;" runat="server"></asp:DropDownList>
|
||||
<label runat="server" id="LblRetIVAConcepto" for="<%= DdlRetIVAConcepto.ClientID.ToString()%>">Ret. IVA:</label>
|
||||
<div>
|
||||
<div class="form-group form-md-line-input input-iconright col-md-6" >
|
||||
<asp:DropDownList ID="DdlRetIVAConcepto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" Style="width: 100%;" runat="server"></asp:DropDownList>
|
||||
<label runat="server" id="LblRetIVAConcepto" for="<%= DdlRetIVAConcepto.ClientID.ToString()%>">Ret. IVA:</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright col-md-6" >
|
||||
|
||||
|
||||
<asp:DropDownList ID="DdlRetISRConcepto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" Style="width: 100%;" runat="server"></asp:DropDownList>
|
||||
<label runat="server" id="LblRetISRConcepto" for="<%= DdlRetISRConcepto.ClientID.ToString()%>">Ret. ISR:</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -321,12 +314,7 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="form-group form-md-line-input input-iconright" >
|
||||
|
||||
<asp:DropDownList ID="DdlRetISRConcepto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" Style="width: 100%;" runat="server"></asp:DropDownList>
|
||||
<label runat="server" id="LblRetISRConcepto" for="<%= DdlRetISRConcepto.ClientID.ToString()%>">Ret. ISR:</label>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -5086,7 +5086,6 @@ Partial Class Compras_eFacturas
|
||||
cargasolicitudes()
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -5306,9 +5305,6 @@ Partial Class Compras_eFacturas
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkRegistarFactura_Click(sender As Object, e As EventArgs)
|
||||
DVRegistraFacturas.Visible = True
|
||||
GvD.Columns(0).Visible = True
|
||||
@@ -5323,14 +5319,11 @@ Partial Class Compras_eFacturas
|
||||
Dim Contador As Integer = 0
|
||||
Dim ErrorProcesoStr As String = ""
|
||||
|
||||
|
||||
|
||||
If Not DdlPS.SelectedValue.ToEntero > 0 Then
|
||||
Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
For Each GvRow As GridViewRow In GvD.Rows
|
||||
If GvRow.FCCheckBox("chkRegistraFactura").Checked Then
|
||||
|
||||
@@ -5351,7 +5344,6 @@ Partial Class Compras_eFacturas
|
||||
CompraActual.Descripcion = TxtDescripcionCompra.Text.Trim
|
||||
CompraActual.NombreProveedor = GvRow.DataKey("NombreProveedor")
|
||||
|
||||
|
||||
Dim CvePersonal As Integer = -1 'DdlPersonalReembolso.SelectedValue.ToEntero
|
||||
Dim CveCajachica As Integer = -1 'DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero
|
||||
|
||||
@@ -5367,15 +5359,12 @@ Partial Class Compras_eFacturas
|
||||
Contador = Contador + 1
|
||||
Else
|
||||
ErrorProceso = True
|
||||
ErrorProcesoStr = CompraActual.MSG_Error
|
||||
ErrorProcesoStr = CompraActual.MensajeError
|
||||
Exit For
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
If Not ErrorProceso Then
|
||||
CargaDatos()
|
||||
If Contador > 0 Then
|
||||
@@ -5385,9 +5374,8 @@ Partial Class Compras_eFacturas
|
||||
Alert($"Se registraron {Contador} Compras. error {ErrorProcesoStr}", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class Compra2
|
||||
@@ -5593,7 +5581,6 @@ Public Class Compra2
|
||||
Public Property TotalTraslados As Decimal = 0D
|
||||
Public Property TrasladoIVA As Decimal = 0D
|
||||
Public Property TrasladoIEPS As Decimal = 0D
|
||||
Public Property TrasladoIEP As Decimal = 0D
|
||||
Public Property SumaTotalTraslados As Decimal = 0D
|
||||
Public Property OtrosImpuestos As Decimal = 0D
|
||||
Private Property OtrosImpuestosRetenciones As Decimal = 0D
|
||||
@@ -5604,9 +5591,8 @@ Public Class Compra2
|
||||
Public Property XMlStr As String
|
||||
Public Property XMLCargaExistosa As Boolean = True
|
||||
|
||||
|
||||
Public Property Observaciones As String = ""
|
||||
Public Property CveEstatusFactura As Integer = -1
|
||||
Public Property CveEstatusFactura As Integer = 1
|
||||
Public Property CvePrePoliza As Integer = -1
|
||||
Public Property Redondeo As Decimal = 0
|
||||
Public Property IdPoliza As Integer = -1
|
||||
@@ -5628,7 +5614,7 @@ Public Class Compra2
|
||||
|
||||
Private Errores As StringBuilder = New StringBuilder
|
||||
|
||||
Public ReadOnly Property MSG_Error As String
|
||||
Public ReadOnly Property MensajeError As String
|
||||
Get
|
||||
Return Errores.ToString()
|
||||
End Get
|
||||
@@ -5699,7 +5685,6 @@ Public Class Compra2
|
||||
CargaComprobanteXML(XMLDoc)
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub CargaDesdeString(XmlFuente As String)
|
||||
XMlStr = XmlFuente.Replace("<br>", "").Replace("<", "").Replace("o;?", "")
|
||||
@@ -5717,10 +5702,8 @@ Public Class Compra2
|
||||
CargaComprobanteXML(XMLDoc)
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub CargaComprobanteXML(XMLDoc As XmlDocument)
|
||||
Dim nodo As XmlNode = XMLDoc.DocumentElement
|
||||
|
||||
@@ -5728,7 +5711,6 @@ Public Class Compra2
|
||||
|
||||
Dim StrCFDIVerion As String = ValorXML(nodo, "version")
|
||||
|
||||
|
||||
If StrCFDIVerion = "3.2" Then
|
||||
CFDIVersion = EnumCFDIVersion.v32
|
||||
ElseIf StrCFDIVerion = "3.3" Then
|
||||
@@ -5916,7 +5898,6 @@ Public Class Compra2
|
||||
|
||||
#Region "DETALLES"
|
||||
|
||||
|
||||
Dim ObjeFacturas As New ClsCompras
|
||||
Dim AjustaUltimoConcepto = False
|
||||
|
||||
@@ -5967,11 +5948,8 @@ Public Class Compra2
|
||||
End If
|
||||
TmpDT.AcceptChanges()
|
||||
ValidacionesTotalesXml()
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Me.PorcentajeIVA = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
||||
|
||||
#End Region
|
||||
@@ -6786,7 +6764,6 @@ Public Class Compra2
|
||||
Row("IVAPorcentaje") = IVA
|
||||
End If
|
||||
|
||||
|
||||
Row("RetIVA") = (RetIVA * Total).RoundSQL
|
||||
Row("RetIVAPorcentaje") = RetIVA
|
||||
Row("RetISR") = (RetISR * Total).RoundSQL
|
||||
@@ -6819,16 +6796,11 @@ Public Class Compra2
|
||||
Row("CveTipoGastoAC") = CveTipoGastoAC
|
||||
Row("CveClasificacionOG") = CveClasificacionOG
|
||||
End If
|
||||
|
||||
|
||||
'Esta parte es para validar cuando la factura tenga ieps en o se asignara el ieps como una partida ya no se considere
|
||||
If (CveFactura > 0 Or CveCompra > 0) And IEPS = 0 Then
|
||||
Row("IEPSPS") = 0
|
||||
Row("IEPSPSPorcentaje") = 0
|
||||
End If
|
||||
|
||||
|
||||
|
||||
TmpDT.Rows.Add(Row)
|
||||
TmpDT.Rows.IndexOf(Row)
|
||||
|
||||
@@ -6899,9 +6871,6 @@ Public Class Compra2
|
||||
CompraSaldo = LocalTotal
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Me.NumNoDed = TmpDT.COUNT("CvePS", "NoDeducible = True ")
|
||||
|
||||
|
||||
@@ -6923,9 +6892,6 @@ Public Class Compra2
|
||||
Return False
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
|
||||
'DATOS GENERALES
|
||||
DrPS("Obs") = ""
|
||||
DrPS("Proyecto") = Proyecto
|
||||
@@ -6972,23 +6938,14 @@ Public Class Compra2
|
||||
DrPS("CveCultivoCuadroDetalle") = -1
|
||||
DrPS("TemporadaCuadro") = ""
|
||||
|
||||
|
||||
Else
|
||||
Errores.AppendLine($"No se encontrol el producto con CvePS {CvePS}")
|
||||
Respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
Return Respuesta
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Private Sub ValidacionesTotalesXml()
|
||||
|
||||
If Not TmpDT.Columns.Contains("Amortizacion") Then
|
||||
@@ -7005,7 +6962,6 @@ Public Class Compra2
|
||||
Dim RetISRTemp = TmpDT.SUMD("RetISR")
|
||||
Dim TotalTemp As Decimal = Subtotal2Temp - RetIVATemp - RetISRTemp + Math.Round(IVATemp, 6) + IEPSTemp + OtrosImpuestos - OtrosImpuestosRetenciones
|
||||
|
||||
|
||||
If Math.Abs(Math.Round(DescuentosTemp, 6) - Math.Round(Descuento, 6)) > 0.01 Then
|
||||
Msg &= String.Format("- Los descuentos del detalle no coinciden con el descuento general <br>")
|
||||
End If
|
||||
@@ -7050,12 +7006,8 @@ Public Class Compra2
|
||||
Me.RetIVA = RetIVATemp
|
||||
Me.RetISR = RetISRTemp
|
||||
Me.IEPS = IEPSTemp
|
||||
|
||||
|
||||
|
||||
CompraSaldo = TotalTemp
|
||||
|
||||
|
||||
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
|
||||
|
||||
End Sub
|
||||
@@ -7075,7 +7027,6 @@ Public Class Compra2
|
||||
|
||||
Dim Amortizacion As Decimal = 0
|
||||
|
||||
|
||||
If TmpDT.Rows.Count > 0 Then ' si hay movimientos y si esta afectando al total, que se haga el ajuste
|
||||
Dim Indice As Integer = If(TmpDT.Rows(TmpDT.Rows.Count - 1)("CvePS").ToString = UsuarioActual.Empresa.Funcionalidad(112).ToString, TmpDT.Rows.Count - 2, TmpDT.Rows.Count - 1)
|
||||
Dim tPU As Decimal
|
||||
@@ -7109,11 +7060,8 @@ Public Class Compra2
|
||||
|
||||
SubTotalConceptos = SubTotal
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Function ValidateUUID(ByVal uuid As String) As Boolean
|
||||
Dim pattern As String = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
|
||||
Dim regex As New Regex(pattern)
|
||||
@@ -7149,26 +7097,19 @@ Public Class Compra2
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
Public Function AddCompra() As Boolean
|
||||
|
||||
If Not AjustesValidacion() Then
|
||||
Return False
|
||||
End If
|
||||
If Not AjustesValidacion() Then Return False
|
||||
|
||||
Dim respuesta As Boolean = True
|
||||
|
||||
|
||||
Dim ObjCompras As New ClsCompras
|
||||
ObjCompras.IniciaTransacSQL()
|
||||
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
||||
|
||||
If Not AddPrepolizaCabecera(ObjCompras.IniciaTransacSQL()) Then
|
||||
If Not AddPrepolizaCabecera(ObjConta) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
If respuesta And ObjCompras.AddCompra("Fac", Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
|
||||
If respuesta AndAlso ObjCompras.AddCompra(If(Me.TipoComprobante = "I", "Fac", "NC"), Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
|
||||
Me.Amortizacion, Me.IVA, Me.RetIVA, Me.RetISR, Me.IEPS, Me.OtrosImpuestos,
|
||||
Me.Redondeo, Me.Total, Me.Fecha, Me.CveMoneda, Me.TipoCambio, If(Me.FechaPago = Nothing, Me.Fecha, Me.FechaPago), Me.AplicaNotaCredito, Me.Observaciones, Me.CveEstatusFactura,
|
||||
Me.CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Me.IdPoliza, CveCajaChica:=Me.CveCajaChica, CvePersonal:=Me.CvePersonal, NumeroReembolso:=Me.NumeroReembolso, CveProveedorSucursal:=Me.CveProveedorSucursal,
|
||||
@@ -7181,7 +7122,6 @@ Public Class Compra2
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
If respuesta AndAlso Me.CveCompra > 0 Then
|
||||
|
||||
For Each Row As DataRow In Me.TmpDT.Rows
|
||||
@@ -7209,14 +7149,10 @@ Public Class Compra2
|
||||
End If
|
||||
|
||||
If respuesta Then
|
||||
If Not AddPrepolizaDetalles(transaccion:=ObjCompras.IniciaTransacSQL()) Then
|
||||
respuesta = False
|
||||
End If
|
||||
If Not AddPrepolizaDetalles(ObjConta) Then respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
||||
If respuesta AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
|
||||
If respuesta AndAlso ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, 4) Then
|
||||
If ObjConta.ValorPolizaDescuadre > 0 Then
|
||||
Errores.AppendLine($"eFacturas/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}.")
|
||||
GuardaLogAD($"eFacturas/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
||||
@@ -7225,12 +7161,9 @@ Public Class Compra2
|
||||
End If
|
||||
|
||||
If respuesta Then
|
||||
If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then
|
||||
respuesta = False
|
||||
End If
|
||||
If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
If respuesta Then
|
||||
ObjCompras.Commit()
|
||||
Else
|
||||
@@ -7238,134 +7171,81 @@ Public Class Compra2
|
||||
End If
|
||||
|
||||
ObjCompras.Dispose()
|
||||
|
||||
ObjConta.Dispose()
|
||||
|
||||
Return respuesta
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Private Function AddPrepolizaCabecera(Optional transaccion As SqlTransaction = Nothing) As Boolean
|
||||
Private Function AddPrepolizaCabecera(ByRef ObjConta As ClsContabilidad) As Boolean
|
||||
|
||||
Dim respuesta As Boolean = False
|
||||
|
||||
Dim ObjConta As ClsContabilidad
|
||||
Dim DisposeClases As Boolean
|
||||
|
||||
|
||||
If transaccion IsNot Nothing Then
|
||||
ObjConta = New ClsContabilidad(transaccion)
|
||||
DisposeClases = False
|
||||
Else
|
||||
ObjConta = New ClsContabilidad
|
||||
DisposeClases = True
|
||||
End If
|
||||
|
||||
|
||||
Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
|
||||
Me.CvePrePoliza = ObjConta.AddPrePolizas("eFacturas/Registrar", 1, Me.Total, Me.Total, Me.CveMoneda, Me.Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", CveTipoPoliza:=Me.CveTipoPoliza)
|
||||
respuesta = If(Me.CvePrePoliza > 0, True, False)
|
||||
|
||||
|
||||
If DisposeClases Then
|
||||
ObjConta.Dispose()
|
||||
End If
|
||||
|
||||
|
||||
Return respuesta
|
||||
|
||||
End Function
|
||||
|
||||
Private Function AddPrepolizaDetalles(transaccion As SqlTransaction) As Boolean
|
||||
Private Function AddPrepolizaDetalles(ByRef ObjConta As ClsContabilidad) As Boolean
|
||||
Dim respuesta As Boolean = True
|
||||
|
||||
Dim ObjConta As ClsContabilidad
|
||||
Dim DisposeClases As Boolean
|
||||
|
||||
|
||||
If transaccion IsNot Nothing Then
|
||||
ObjConta = New ClsContabilidad(transaccion)
|
||||
DisposeClases = False
|
||||
Else
|
||||
ObjConta = New ClsContabilidad
|
||||
DisposeClases = True
|
||||
End If
|
||||
|
||||
Dim Concepto As String = $"{Me.NombreProveedor} {Me.SerieFolio}"
|
||||
Dim Referencia As String = Me.SerieFolio
|
||||
|
||||
'TC del xml
|
||||
|
||||
Dim importeMovimiento As Decimal
|
||||
Dim importeMN As Decimal
|
||||
'6
|
||||
For Each RowDetalle As DataRow In TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2", "", {"CveClasificacion", "CveSubProyecto"}).Rows
|
||||
|
||||
Dim importe = TmpDT.SUMD("Total", $" CveClasificacion = {RowDetalle("CveClasificacion").ToString} AND CveSubProyecto = {RowDetalle("CveSubProyecto").ToString}")
|
||||
Dim importeMN = importe * Me.TipoCambio
|
||||
|
||||
importeMovimiento = TmpDT.SUMD("Total", $" CveClasificacion = {RowDetalle("CveClasificacion").ToString} AND CveSubProyecto = {RowDetalle("CveSubProyecto").ToString}")
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
|
||||
If importeMN <> 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, Referencia, 6, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=Me.CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(TipoCambio = 1, 0, importe), TipoCambio:=TipoCambio,
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMN, 6, Referencia, Concepto, -1, CveCompra:=CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=Me.CveCreditoDetalle, ImporteME:=If(TipoCambio = 1, 0, importeMovimiento), TipoCambio:=TipoCambio,
|
||||
CveClasificacion:=RowDetalle("CveClasificacion").ToString().ToEntero(), CveSubProyecto:=RowDetalle("CveSubProyecto").ToString().ToEntero(), Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
'14
|
||||
If Me.IVA > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.IVA
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, Referencia, 14, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=Me.PorcentajeIVA, Contabilizable:=True) Then
|
||||
If respuesta AndAlso Me.IVA > 0 Then
|
||||
importeMovimiento = Me.IVA
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMN, 14, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=Me.PorcentajeIVA, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'25
|
||||
If Me.IEPS > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.IEPS
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 25, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
If respuesta AndAlso Me.IEPS > 0 Then
|
||||
importeMovimiento = Me.IEPS
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, 25, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Me.RetIVA > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.RetIVA
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
'
|
||||
If respuesta AndAlso Me.RetIVA > 0 Then
|
||||
importeMovimiento = Me.RetIVA
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
Dim ret As ConceptosRetenciones = ConceptoPrePolizaRetIVA
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ret.CveConceptoxAcreditar, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, ret.CveConceptoxAcreditar, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If Me.RetISR > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.RetISR
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
'
|
||||
If respuesta AndAlso Me.RetISR > 0 Then
|
||||
importeMovimiento = Me.RetISR
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
Dim ret As ConceptosRetenciones = ConceptoPrePolizaRetISR
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ret.CveConceptoxAcreditar, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, ret.CveConceptoxAcreditar, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'5
|
||||
If respuesta Then
|
||||
|
||||
|
||||
Dim importeMovimiento As Decimal = Me.Total
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
importeMovimiento = Me.Total
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
Dim ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, Me.CveMoneda, False, Me.CveTipoConceptoProveedor)
|
||||
Dim ImporteME = importeMovimiento
|
||||
|
||||
Dim UsaComplementaria As Boolean = True
|
||||
If Me.CveMoneda > 1 Then ImporteME = importeMovimiento
|
||||
|
||||
@@ -7375,34 +7255,17 @@ Public Class Compra2
|
||||
Else
|
||||
importeMN = importeMovimiento
|
||||
End If
|
||||
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, ConPreP.CveConcepto, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
If respuesta AndAlso Me.CveMoneda > 1 AndAlso UsaComplementaria Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, 0, (importeMovimiento * TipoCambio - importeMovimiento).RoundSQL, ConPreP.CveConceptoComplementario, Referencia, Concepto, -1, CveCompra:=Me.CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=Me.CvePersonal, CveCompraAmortizacion:=Me.CveCompraAmortizacion, TipoCambio:=Me.TipoCambio, TipoCambioPago:=1, ImporteME:=ImporteME, CveSubProyecto:=Me.CveSubProyecto) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, (importeMovimiento * Me.TipoCambio - importeMovimiento).RoundSQL, ConPreP.CveConceptoComplementario, Referencia, Concepto, -1, CveCompra:=Me.CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=Me.CvePersonal, CveCompraAmortizacion:=Me.CveCompraAmortizacion, TipoCambio:=Me.TipoCambio, TipoCambioPago:=1, ImporteME:=ImporteME, CveSubProyecto:=Me.CveSubProyecto) Then
|
||||
respuesta = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ConPreP.CveConcepto, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If DisposeClases Then
|
||||
If respuesta Then
|
||||
ObjConta.Commit()
|
||||
Else
|
||||
ObjConta.RollBack()
|
||||
End If
|
||||
|
||||
ObjConta.Dispose()
|
||||
End If
|
||||
|
||||
|
||||
Return respuesta
|
||||
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user