+
+
+
+
+
+
+
Temporada:
+
+
+
+
+
+
-
Temporada:
-
-
+
+
>
-
> 1
-
-
-
-
+
@@ -69,15 +73,15 @@
@@ -87,6 +91,53 @@
+
+
+
+
+
diff --git a/Agropecuaria/CierreCultivo.aspx.vb b/Agropecuaria/CierreCultivo.aspx.vb
index 9b6b4f83e..cabf77d83 100644
--- a/Agropecuaria/CierreCultivo.aspx.vb
+++ b/Agropecuaria/CierreCultivo.aspx.vb
@@ -1,21 +1,26 @@
-Imports Extensiones
+Imports System.Data
+Imports Extensiones
Partial Class Agrupecuaria_CierreCultivo
Inherits ClsPaginas
- Private Property CveCamion As Integer
+ Private Property DT_Datos_Cierre As DataTable
Get
- If ViewState("CveCamion") Is Nothing Then
- Return -1
- Else
- Return ViewState("CveCamion").ToString().ToEntero()
+ If ViewState("DT_Datos_Cierre") Is Nothing Then
+ ViewState("DataTable") = New DataTable
End If
+
+ Return DirectCast(ViewState("DT_Datos_Cierre"), DataTable)
+
End Get
- Set(ByVal value As Integer)
- ViewState("CveCamion") = value
+ Set(ByVal value As DataTable)
+ ViewState("DT_Datos_Cierre") = value
End Set
End Property
+
+
+
Private Sub Agrupecuaria_CierreCultivo_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaCombos()
@@ -36,6 +41,9 @@ Partial Class Agrupecuaria_CierreCultivo
UpFiltros.Update()
+
+ CargarCentrosDeCosto(Nothing, DdlSubProyectoCierreCultivo, Nothing, LblSubProyecto, "Seleccione Uno")
+
End Sub
@@ -51,10 +59,14 @@ Partial Class Agrupecuaria_CierreCultivo
If ObjGral.GetCierreCultivos(DdlTemporada.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
GvDatos.DataSource = ObjGral.DtResultados
+ DT_Datos_Cierre = ObjGral.DtResultados
Else
GvDatos.DataSource = Nothing
+ DT_Datos_Cierre = Nothing
End If
+ OcultarmostrarControles(DT_Datos_Cierre)
+
ObjGral.Dispose()
GvDatos.DataBind()
UpDatos.Update()
@@ -63,16 +75,66 @@ Partial Class Agrupecuaria_CierreCultivo
End Sub
- Private Sub CierraCultivo()
-
- End Sub
-
-
-
-
-
-
Protected Sub btConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
+
+ Protected Sub LnkAccionesCerrarCultivo_Click(sender As Object, e As EventArgs)
+
+
+
+ RegistraScript("$('#DivModalCerrarCultivo').modal('show');")
+ UpModalCerrarCultivo.Update()
+
+
+ End Sub
+
+
+ Public Sub OcultarmostrarControles(ByRef DTCierreCultivos As DataTable)
+
+ If DTCierreCultivos IsNot Nothing AndAlso DTCierreCultivos.Rows.Count > 0 Then
+ LnkAccionesCerrarCultivo.Visible = True
+ Else
+ LnkAccionesCerrarCultivo.Visible = False
+ End If
+
+ UpAcciones.Update()
+
+ End Sub
+
+
+ Private Sub CierraCultivo()
+
+ Dim ObjConta As New ClsContabilidad()
+ ObjConta.IniciaTransacSQL()
+ Dim CvePrePoliza As Integer = -1
+ Dim ErrorProceso As Boolean = False
+
+ Dim CveSubProyecto As Integer = DdlSubProyectoCierreCultivo.SelectedValue.ToEntero
+
+
+ Dim ImporteCierre As Decimal = DT_Datos_Cierre.SUMD("Importe")
+
+ CvePrePoliza = ObjConta.AddPrePolizas("CierreCultivo/Cerrar", 1, ImporteCierre, ImporteCierre, 1, TxtmodalFechaCierreCultivo.Text.ToDate, $"Cierre Temporada {DdlTemporada.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa))
+
+ If CvePrePoliza > 0 Then
+
+ Else
+ ErrorProceso = True
+ End If
+
+
+ If ErrorProceso Then
+ ObjConta.RollBack()
+ Else
+ ObjConta.Commit()
+
+ RegistraScript("$('#DivModalCerrarCultivo').modal('hide');")
+ End If
+
+ ObjConta.Dispose()
+
+ End Sub
+
+
End Class
diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb
index c530e3297..73df9a9aa 100644
--- a/App_Code/ClsGenerales.vb
+++ b/App_Code/ClsGenerales.vb
@@ -4070,7 +4070,7 @@ Public Class ClsGenerales
.Add("@Cantidad", SqlDbType.Float).Value = Cantidad
.Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@PesoKg", SqlDbType.SmallMoney).Value = CveUsuario
+ .Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg
End With
diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 552e8a6e6..97b0491bc 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -859,7 +859,6 @@ Public Class ClsNominas
DataAdapter("PA_Nom_NominasDetallesRemove")
SqlAdapter.SelectCommand.Parameters.Add("@CveNominaDetalle", SqlDbType.Int).Value = CveNominaDetalle
-
Try
SqlAdapter.Fill(Data)
Retorno = True
@@ -1063,12 +1062,15 @@ Public Class ClsNominas
End Function
- Public Function RemoveNom_Nominas(CveNomina As Integer) As Boolean
+ Public Function RemoveNom_Nominas(CveNomina As Integer, EliminarTodo As Boolean, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Nom_NominasRemove")
SqlAdapter.SelectCommand.Parameters.Add("@CveNomina", SqlDbType.Int).Value = CveNomina
+ '
+ SqlAdapter.SelectCommand.Parameters.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ SqlAdapter.SelectCommand.Parameters.Add("@EliminarTodo", SqlDbType.Int).Value = If(EliminarTodo, 1, 0)
Try
SqlAdapter.Fill(Data)
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index ffe3a8e55..37ac787cc 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -3841,9 +3841,9 @@ Namespace Modelos
End If
If factura.TipoDocto = "Rem" AndAlso factura.ServicioDomicilio Then
- Dim CveMovimientoSalida As Integer = GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenServicioDomicilio, 8, factura.CveMoneda, factura.CveVenta, "Modelos/SD1")
+ Dim CveMovimientoSalida As Integer = GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenServicioDomicilio, 8, factura.CveMoneda, factura.CveVenta, "Modelos/SD1", True, ObjConta)
If CveMovimientoSalida > 0 Then
- If Not (GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenTraspasoDestino, 9, factura.CveMoneda, factura.CveVenta, "Modelos/SD2", CveMovimientoRelacionado:=CveMovimientoSalida) > 0) Then
+ If Not (GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenTraspasoDestino, 9, factura.CveMoneda, factura.CveVenta, "Modelos/SD2", True, ObjConta, CveMovimientoRelacionado:=CveMovimientoSalida) > 0) Then
OcurrioError = True
End If
@@ -5558,7 +5558,7 @@ Namespace Modelos
End If
If SaldoAlmacenExA <> 0 Then
- If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")}"), ObjVentas, ObjInventario) Then
+ If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")}"), ObjVentas, ObjInventario, ObjConta) Then
ErrorCancelar = True
MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión."
Exit For
@@ -5680,7 +5680,7 @@ Namespace Modelos
For Each RowDevolucion As DataRow In DtDevMovs.Rows
CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero()
- If Not CancelarMovimientosRemision(CveVenta, CveAlmacen, CveAlmacenGeneral, DtMovRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")} AND CvePS > 0"), ObjVentas, ObjInventario) Then
+ If Not CancelarMovimientosRemision(CveVenta, CveAlmacen, CveAlmacenGeneral, DtMovRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")} AND CvePS > 0"), ObjVentas, ObjInventario, ObjConta) Then
ErrorCancelar = True
MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión."
Exit For
@@ -6226,7 +6226,7 @@ Namespace Modelos
Return Not ErrorCancelar
End Function
- Private Function CancelarMovimientosRemision(CveRemision As Integer, CveAlmacen As Integer, CveAlmacenDestino As Integer, DtMovDetalle As DataTable, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios) As Boolean
+ Private Function CancelarMovimientosRemision(CveRemision As Integer, CveAlmacen As Integer, CveAlmacenDestino As Integer, DtMovDetalle As DataTable, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad) As Boolean
Dim ErrorCancelar As Boolean = False
Dim CveMovimientoSalidaDevRem As Integer = 0
@@ -6234,13 +6234,14 @@ Namespace Modelos
Dim CveMovimientoEntradaDevRem As Integer = 0
Dim FolioMovimientoEntradaDevRem As Integer = 0
+ Dim Fecha As DateTime = Now
'SALIDA DE (ENTREGA POR ADELANTADO)
- CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR1")
+ CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR1")
FolioMovimientoSalidaDevRem = ObjInventario.Folio
'ENTRADA A (ALMACEN GENERAL)
- CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR2")
+ CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR2")
FolioMovimientoEntradaDevRem = ObjInventario.Folio
If Not (CveMovimientoSalidaDevRem > 0 And CveMovimientoEntradaDevRem > 0) Then
@@ -6286,11 +6287,29 @@ Namespace Modelos
Exit For
End If
Next
+
+ Dim ValorInventario As Decimal = DtEntradaDetalle.SUMD("Total")
+ Dim EsContabilizable As Boolean = False
+ Dim Concepto As String = "Cancelación"
+ Dim CvePrePoliza = ObjConta.AddPrePolizas("Mod/CancExAR1", 74, DtEntradaDetalle.SUMD("Total"), DtEntradaDetalle.SUMD("Total"), 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveSubProyecto").ToEntero
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ValorInventario, Concepto, 68, Concepto, Fecha, 0, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoSalidaDevRem, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then
+ ErrorCancelar = True
+ End If
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorInventario, Concepto, 68, Concepto, Fecha, 0, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoEntradaDevRem, ImporteMX:=ValorInventario, Contabilizable:=EsContabilizable) Then
+ ErrorCancelar = True
+ End If
+
+
Else
ErrorCancelar = True
End If
End If
+
+
If Not ErrorCancelar Then
If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveRemision) Then
ErrorCancelar = True
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index cf660b490..94e8e4207 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -600,7 +600,6 @@ Public Class Timbrado
Dim Clave As String = Empresa.ContraseñaKey
Dim UrlServicio As String = "" ' Produccion
- 'UrlServicio = "http://juancalderon-001-site1.ftempurl.com/timbrado.asmx?WSDL"
'UrlServicio = "http://alterno.gofac.com.mx/cfdi/timbrado.asmx?WSDL" ' alterno
UrlServicio = "https://cfdi.gofac.com.mx/timbrado.asmx?WSDL"
@@ -1138,10 +1137,10 @@ Public Class Timbrado
Equivalencia = 1
'condiciones especiales para el pago en pesos, facturas en moneda extranjera
ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then
- VentaTipoCambio = VentaTipoCambio.RoundSQL(6)
- Equivalencia = (1 / VentaTipoCambio).RoundSQL(6)
+ VentaTipoCambio = Math.Round(VentaTipoCambio, 6)
+ Equivalencia = Math.Round((1 / VentaTipoCambio), 6)
ElseIf MonedaPago = "USD" AndAlso VentaAbreviaturaSAT <> "USD" Then
- VentaTipoCambio = VentaTipoCambio.RoundSQL(6)
+ VentaTipoCambio = Math.Round(VentaTipoCambio, 6)
Equivalencia = VentaTipoCambio
End If
@@ -1167,8 +1166,8 @@ Public Class Timbrado
.TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal,
.Impuesto = drp("TipoImpuesto").ToString,
.Importe = drp("Importe").ToString().ToDecimal.RoundSQL,
- .BaseMN = (drp("Base").ToString.ToDecimal / Equivalencia).RoundSQL(2),
- .ImporteMN = (drp("Importe").ToString.ToDecimal / Equivalencia).RoundSQL(2)
+ .BaseMN = Math.Round((drp("Base").ToString.ToDecimal / Equivalencia), 2),
+ .ImporteMN = Math.Round((drp("Importe").ToString.ToDecimal / Equivalencia), 2)
}
)
@@ -2235,7 +2234,6 @@ Public Class Timbrado
Case 2
UrlServicio = "http://generacfdi.com.mx/rvltimbrado/service1.asmx?WSDL" 'productivo
Case 4
- 'UrlServicio = "http://juancalderon-001-site1.ftempurl.com/timbrado.asmx?WSDL"
'UrlServicio = "http://alterno.gofac.com.mx/cfdi/timbrado.asmx?WSDL" ' alterno
UrlServicio = "https://cfdi.gofac.com.mx/timbrado.asmx?WSDL"
End Select
@@ -2260,7 +2258,7 @@ Public Class Timbrado
Case 4
UsuarioServicio = "UserTest"
ClaveServicio = "1234567890"
- UrlServicio = "http://juancalderon-001-site1.ftempurl.com/timbrado.asmx?WSDL"
+ UrlServicio = "https://cfdi.gofac.com.mx/timbrado.asmx"
End Select
End If
@@ -4074,52 +4072,11 @@ Public Class Timbrado
#Region " Complemento Pago"
If ObjCFDITimbre.Comprobante.TipoComprobante = "P" Then
- Dim ComPag = New Profact.TimbraCFDI40.Complementos.Pagos20.Pagos()
- ComPag.Pago = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPago(0) {}
- ComPag.Pago(0) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPago()
- ComPag.Pago(0).FechaPago = ObjCFDITimbre.ComplementoPagos.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss").ToDate()
- ComPag.Pago(0).FormaDePagoP = ObjCFDITimbre.ComplementoPagos.FormaDePagoP
- ComPag.Pago(0).MonedaP = ObjCFDITimbre.ComplementoPagos.MonedaP
- ComPag.Pago(0).TipoCambioPSpecified = True 'If(ObjCFDITimbre.ComplementoPagos.MonedaP = "MXN", False, True)
- ComPag.Pago(0).TipoCambioP = ObjCFDITimbre.ComplementoPagos.TipoCambioP
- ComPag.Pago(0).Monto = ObjCFDITimbre.ComplementoPagos.Monto
- If ObjCFDITimbre.ComplementoPagos.NumOperacion <> "" Then
- ComPag.Pago(0).NumOperacion = ObjCFDITimbre.ComplementoPagos.NumOperacion
- End If
- If ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaOrd <> "" Then
- ComPag.Pago(0).RfcEmisorCtaOrd = ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaOrd
- End If
- If ObjCFDITimbre.ComplementoPagos.NomBancoOrdExt <> "" Then
- ComPag.Pago(0).NomBancoOrdExt = ObjCFDITimbre.ComplementoPagos.NomBancoOrdExt
- End If
- If ObjCFDITimbre.ComplementoPagos.CtaOrdenante <> "" Then
- ComPag.Pago(0).CtaOrdenante = ObjCFDITimbre.ComplementoPagos.CtaOrdenante
- End If
- If ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaBen <> "" Then
- ComPag.Pago(0).RfcEmisorCtaBen = ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaBen
- End If
- If ObjCFDITimbre.ComplementoPagos.CtaBeneficiario <> "" Then
- ComPag.Pago(0).CtaBeneficiario = ObjCFDITimbre.ComplementoPagos.CtaBeneficiario
- End If
- If ObjCFDITimbre.ComplementoPagos.TipoCadPago <> "" Then
- ComPag.Pago(0).TipoCadPagoSpecified = True
- ComPag.Pago(0).TipoCadPago = ObjCFDITimbre.ComplementoPagos.TipoCadPago
- End If
- If ObjCFDITimbre.ComplementoPagos.CertPago <> "" Then
- ComPag.Pago(0).CertPago = System.Text.Encoding.Default.GetBytes(ObjCFDITimbre.ComplementoPagos.CertPago).ToString()
- End If
- If ObjCFDITimbre.ComplementoPagos.CadPago <> "" Then
- ComPag.Pago(0).CadPago = ObjCFDITimbre.ComplementoPagos.CadPago
- End If
- If ObjCFDITimbre.ComplementoPagos.SelloPago <> "" Then
- ComPag.Pago(0).SelloPago = System.Text.Encoding.Default.GetBytes(ObjCFDITimbre.ComplementoPagos.SelloPago).ToString()
- End If
+ If ObjCFDITimbre.ComplementoPagos20.ComplementoPagos.Count > 0 Then
- If ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados.Count > 0 Then
- Dim Totales As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosTotales()
- 'Totales Generales
+ Dim Totales As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosTotales() 'Totales Generales
Totales.MontoTotalPagos = ObjCFDITimbre.ComplementoPagos20.MontoTotalPagos.RoundSQL
@@ -4137,6 +4094,7 @@ Public Class Timbrado
Totales.TotalTrasladosBaseIVA0Specified = Totales.TotalTrasladosBaseIVA0 > 0
Totales.TotalTrasladosImpuestoIVA0 = 0
Totales.TotalTrasladosImpuestoIVA0Specified = Totales.TotalTrasladosBaseIVA0 > 0 ' si hay base > 0, debe de ponerse aunque sea en cero
+
If ObjCFDITimbre.ComplementoPagos20.TotalRetencionesIEPS > 0 Then
Totales.TotalRetencionesIEPS = ObjCFDITimbre.ComplementoPagos20.TotalRetencionesIEPS.RoundSQL
Totales.TotalRetencionesIEPSSpecified = True
@@ -4144,105 +4102,141 @@ Public Class Timbrado
Totales.TotalRetencionesIEPSSpecified = False
End If
+ Dim ComPag = New Profact.TimbraCFDI40.Complementos.Pagos20.Pagos()
+
ComPag.Totales = Totales
+ ComPag.Pago = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPago(ObjCFDITimbre.ComplementoPagos20.ComplementoPagos.Count - 1) {}
+ Dim ii As Integer = 0
+ For Each docp As CFDIComplementoPago In ObjCFDITimbre.ComplementoPagos20.ComplementoPagos
- ComPag.Pago(0).DoctoRelacionado = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionado(ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados.Count - 1) {}
- Dim i As Integer
- For Each doc As CFDIComplementoPagosDocsRelacionados In ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados
- ComPag.Pago(0).DoctoRelacionado(i) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionado()
- ComPag.Pago(0).DoctoRelacionado(i).IdDocumento = doc.IdDocumento
- If Not String.IsNullOrEmpty(doc.Serie) Then
- ComPag.Pago(0).DoctoRelacionado(i).Serie = doc.Serie
+ ComPag.Pago(ii) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPago()
+ ComPag.Pago(ii).FechaPago = docp.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss").ToDate()
+ ComPag.Pago(ii).FormaDePagoP = docp.FormaDePagoP
+ ComPag.Pago(ii).MonedaP = docp.MonedaP
+ ComPag.Pago(ii).TipoCambioPSpecified = True 'If(ObjCFDITimbre.ComplementoPagos.MonedaP = "MXN", False, True)
+ ComPag.Pago(ii).TipoCambioP = docp.TipoCambioP
+ ComPag.Pago(ii).Monto = docp.Monto
+ If docp.NumOperacion <> "" Then ComPag.Pago(ii).NumOperacion = docp.NumOperacion
+
+ If docp.RfcEmisorCtaOrd <> "" Then ComPag.Pago(ii).RfcEmisorCtaOrd = docp.RfcEmisorCtaOrd
+
+ If docp.NomBancoOrdExt <> "" Then ComPag.Pago(ii).NomBancoOrdExt = docp.NomBancoOrdExt
+
+ If docp.CtaOrdenante <> "" Then ComPag.Pago(ii).CtaOrdenante = docp.CtaOrdenante
+
+ If docp.RfcEmisorCtaBen <> "" Then ComPag.Pago(ii).RfcEmisorCtaBen = docp.RfcEmisorCtaBen
+
+ If docp.CtaBeneficiario <> "" Then ComPag.Pago(ii).CtaBeneficiario = docp.CtaBeneficiario
+
+ If docp.TipoCadPago <> "" Then
+ ComPag.Pago(ii).TipoCadPagoSpecified = True
+ ComPag.Pago(ii).TipoCadPago = docp.TipoCadPago
End If
- ComPag.Pago(0).DoctoRelacionado(i).Folio = doc.Folio
- ComPag.Pago(0).DoctoRelacionado(i).MonedaDR = doc.MonedaDR
- ComPag.Pago(0).DoctoRelacionado(i).NumParcialidad = doc.NumParcialidad.ToString
- ComPag.Pago(0).DoctoRelacionado(i).ImpSaldoAnt = doc.ImpSaldoAnt.RoundSQL
- ComPag.Pago(0).DoctoRelacionado(i).ImpPagadoSpecified = True
- ComPag.Pago(0).DoctoRelacionado(i).ImpPagado = doc.ImpPagado.RoundSQL
- ComPag.Pago(0).DoctoRelacionado(i).ImpSaldoInsoluto = doc.ImpSaldoInsoluto.RoundSQL
- ComPag.Pago(0).DoctoRelacionado(i).EquivalenciaDR = doc.EquivalenciaDR.RoundSQL(6)
- ComPag.Pago(0).DoctoRelacionado(i).EquivalenciaDRSpecified = True
- ComPag.Pago(0).DoctoRelacionado(i).ObjetoImpDR = doc.ObjetoImpuesto
- If doc.Impuestos IsNot Nothing Then
- ComPag.Pago(0).DoctoRelacionado(i).ImpuestosDR = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDR
+ If docp.CertPago <> "" Then ComPag.Pago(ii).CertPago = System.Text.Encoding.Default.GetBytes(docp.CertPago).ToString()
- ''retenciones
- If (doc.Impuestos).Where(Function(x) x.TrasladooRetencion = "R").Count > 0 Then
- Dim j As Integer = 0
- ComPag.Pago(0).DoctoRelacionado(i).ImpuestosDR.RetencionesDR = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRRetencionDR(doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "R").Count - 1) {}
+ If docp.CadPago <> "" Then ComPag.Pago(ii).CadPago = docp.CadPago
- For Each docimp As CFDIConceptosImpuestos In doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "R")
- If docimp.TrasladooRetencion = "R" Then
- Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRRetencionDR
- Tra.BaseDR = docimp.Base.RoundSQL(2)
- Tra.ImporteDR = docimp.Importe.RoundSQL(2)
- Tra.ImpuestoDR = docimp.Impuesto
- Tra.TipoFactorDR = docimp.TipoFactor
- Tra.TasaOCuotaDR = docimp.TasaOCuota.RoundSQL(6)
- ComPag.Pago(0).DoctoRelacionado(i).ImpuestosDR.RetencionesDR(j) = Tra
- End If
- j += 1
+ If docp.SelloPago <> "" Then ComPag.Pago(ii).SelloPago = System.Text.Encoding.Default.GetBytes(docp.SelloPago).ToString()
+
+ ComPag.Pago(ii).DoctoRelacionado = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionado(docp.DocumentosRelacionados.Count - 1) {}
+
+ Dim i As Integer
+ For Each doc As CFDIComplementoPagosDocsRelacionados In docp.DocumentosRelacionados
+ ComPag.Pago(ii).DoctoRelacionado(i) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionado()
+ ComPag.Pago(ii).DoctoRelacionado(i).IdDocumento = doc.IdDocumento
+ If Not String.IsNullOrEmpty(doc.Serie) Then
+ ComPag.Pago(ii).DoctoRelacionado(i).Serie = doc.Serie
+ End If
+ ComPag.Pago(ii).DoctoRelacionado(i).Folio = doc.Folio
+ ComPag.Pago(ii).DoctoRelacionado(i).MonedaDR = doc.MonedaDR
+ ComPag.Pago(ii).DoctoRelacionado(i).NumParcialidad = doc.NumParcialidad.ToString
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpSaldoAnt = doc.ImpSaldoAnt.RoundSQL
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpPagadoSpecified = True
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpPagado = doc.ImpPagado.RoundSQL
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpSaldoInsoluto = doc.ImpSaldoInsoluto.RoundSQL
+ ComPag.Pago(ii).DoctoRelacionado(i).EquivalenciaDR = doc.EquivalenciaDR.RoundSQL(6)
+ ComPag.Pago(ii).DoctoRelacionado(i).EquivalenciaDRSpecified = True
+ ComPag.Pago(ii).DoctoRelacionado(i).ObjetoImpDR = doc.ObjetoImpuesto
+
+ If doc.Impuestos IsNot Nothing Then
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpuestosDR = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDR
+
+ ''retenciones
+ If (doc.Impuestos).Where(Function(x) x.TrasladooRetencion = "R").Count > 0 Then
+ Dim j As Integer = 0
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpuestosDR.RetencionesDR = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRRetencionDR(doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "R").Count - 1) {}
+
+ For Each docimp As CFDIConceptosImpuestos In doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "R")
+ If docimp.TrasladooRetencion = "R" Then
+ Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRRetencionDR
+ Tra.BaseDR = docimp.Base.RoundSQL(2)
+ Tra.ImporteDR = docimp.Importe.RoundSQL(2)
+ Tra.ImpuestoDR = docimp.Impuesto
+ Tra.TipoFactorDR = docimp.TipoFactor
+ Tra.TasaOCuotaDR = docimp.TasaOCuota.RoundSQL(6)
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpuestosDR.RetencionesDR(j) = Tra
+ End If
+ j += 1
+ Next
+ End If
+
+ ''traslados
+ If (doc.Impuestos).Where(Function(x) x.TrasladooRetencion = "T").Count > 0 Then
+ Dim j As Integer = 0
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpuestosDR.TrasladosDR = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR(doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "T").Count - 1) {}
+
+ For Each docimp As CFDIConceptosImpuestos In doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "T")
+
+ If docimp.TrasladooRetencion = "T" Then
+ Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR
+ Tra.BaseDR = docimp.Base.RoundSQL(2)
+ Tra.ImporteDRSpecified = True
+ Tra.ImporteDR = docimp.Importe.RoundSQL(2)
+ Tra.ImpuestoDR = docimp.Impuesto
+ Tra.TipoFactorDR = docimp.TipoFactor
+ Tra.TasaOCuotaDRSpecified = True
+ Tra.TasaOCuotaDR = docimp.TasaOCuota.RoundSQL(6)
+ ComPag.Pago(ii).DoctoRelacionado(i).ImpuestosDR.TrasladosDR(j) = Tra
+ End If
+ j += 1
+ Next
+ End If
+ End If
+ i += 1
+ Next
+
+ If docp.Retenciones.Count > 0 OrElse docp.Traslados.Count > 0 Then
+ ComPag.Pago(ii).ImpuestosP = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosP(0) {}
+ ComPag.Pago(ii).ImpuestosP(0) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosP()
+
+ If docp.Retenciones.Count > 0 Then
+ Dim x As Integer
+ ComPag.Pago(ii).ImpuestosP(0).RetencionesP = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPRetencionP(docp.Retenciones.Count - 1) {}
+ For Each Ret As CFDIRetenciones In ObjCFDITimbre.ComplementoPagos.Retenciones
+ ComPag.Pago(ii).ImpuestosP(0).RetencionesP(x) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPRetencionP()
+ ComPag.Pago(ii).ImpuestosP(0).RetencionesP(x).ImpuestoP = Ret.Impuesto
+ ComPag.Pago(ii).ImpuestosP(0).RetencionesP(x).ImporteP = Ret.ImporteMN
+ x += 1
Next
End If
- ''traslados
- If (doc.Impuestos).Where(Function(x) x.TrasladooRetencion = "T").Count > 0 Then
- Dim j As Integer = 0
- ComPag.Pago(0).DoctoRelacionado(i).ImpuestosDR.TrasladosDR = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR(doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "T").Count - 1) {}
-
- For Each docimp As CFDIConceptosImpuestos In doc.Impuestos.Where(Function(x) x.TrasladooRetencion = "T")
-
- If docimp.TrasladooRetencion = "T" Then
- Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR
- Tra.BaseDR = docimp.Base.RoundSQL(2)
- Tra.ImporteDRSpecified = True
- Tra.ImporteDR = docimp.Importe.RoundSQL(2)
- Tra.ImpuestoDR = docimp.Impuesto
- Tra.TipoFactorDR = docimp.TipoFactor
- Tra.TasaOCuotaDRSpecified = True
- Tra.TasaOCuotaDR = docimp.TasaOCuota.RoundSQL(6)
- ComPag.Pago(0).DoctoRelacionado(i).ImpuestosDR.TrasladosDR(j) = Tra
- End If
- j += 1
+ If docp.Traslados.Count > 0 Then
+ Dim x As Integer
+ ComPag.Pago(ii).ImpuestosP(0).TrasladosP = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPTrasladoP(docp.Traslados.Count - 1) {}
+ For Each Tra As CFDITraslados In (docp.Traslados)
+ ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPTrasladoP()
+ ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto
+ ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor
+ ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6)
+ ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.ImporteMN.RoundSQL(6)
+ ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).BaseP = Tra.BaseMN.RoundSQL(2)
+ x += 1
Next
End If
End If
- i += 1
Next
- If (ObjCFDITimbre.ComplementoPagos.Retenciones).Count > 0 OrElse ObjCFDITimbre.ComplementoPagos.Traslados.Count > 0 Then
- ComPag.Pago(0).ImpuestosP = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosP(0) {}
- ComPag.Pago(0).ImpuestosP(0) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosP()
-
- If (ObjCFDITimbre.ComplementoPagos.Retenciones).Count > 0 Then
- Dim x As Integer
- ComPag.Pago(0).ImpuestosP(0).RetencionesP = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPRetencionP((ObjCFDITimbre.ComplementoPagos.Retenciones).Count - 1) {}
- For Each Ret As CFDIRetenciones In ObjCFDITimbre.ComplementoPagos.Retenciones
- ComPag.Pago(0).ImpuestosP(0).RetencionesP(x) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPRetencionP()
- ComPag.Pago(0).ImpuestosP(0).RetencionesP(x).ImpuestoP = Ret.Impuesto
- ComPag.Pago(0).ImpuestosP(0).RetencionesP(x).ImporteP = Ret.ImporteMN
- x += 1
- Next
- End If
-
- If ObjCFDITimbre.ComplementoPagos.Traslados.Count > 0 Then
- Dim x As Integer
- ComPag.Pago(0).ImpuestosP(0).TrasladosP = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPTrasladoP((ObjCFDITimbre.ComplementoPagos.Traslados).Count - 1) {}
- For Each Tra As CFDITraslados In (ObjCFDITimbre.ComplementoPagos.Traslados)
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x) = New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoImpuestosPTrasladoP()
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6)
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.ImporteMN.RoundSQL(6)
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.BaseMN.RoundSQL(2)
- x += 1
- Next
- End If
- End If
-
-
Dim nsComp As New System.Xml.Serialization.XmlSerializerNamespaces()
nsComp.Add("pago20", "http://www.sat.gob.mx/Pagos20")
Dim xmlComp As String = Profact.TimbraCFDI.XMLUtilerias.SerializaObjeto(ComPag, GetType(Profact.TimbraCFDI40.Complementos.Pagos20.Pagos), nsComp)
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index 6497c6564..198291fb2 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -734,7 +734,7 @@
-
+
<%-- 0 --%>
@@ -773,7 +773,7 @@
-
+
<%-- 6 --%>
@@ -4389,10 +4389,10 @@