diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 3aee4f3d4..0f4eea25a 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -1631,7 +1631,7 @@ Public Class ClsVentas
Return Retorno
End Function
- Public Function UpdateVentaDetalleRemision(CveVenta As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, IEPS As Decimal, PorcentajeIEPS As Decimal, IVA As Decimal, PorcentajeIVA As Decimal, Descuento As Decimal, Observaciones As String, Optional CveUsuarioModifico As Integer = -1) As Boolean
+ Public Function UpdateVentaDetalleRemision(CveVenta As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, IEPS As Decimal, PorcentajeIEPS As Decimal, IVA As Decimal, PorcentajeIVA As Decimal, Descuento As Decimal, Observaciones As String, Optional CveUsuarioModifico As Integer = -1, Optional CvePromocionDetalle As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_VentasDetalleRemisionUpdate")
@@ -1647,6 +1647,7 @@ Public Class ClsVentas
.Add("@Descuento", SqlDbType.Decimal).Value = Descuento
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
+ .Add("@CvePromocionDetalle", SqlDbType.Int).Value = CvePromocionDetalle
End With
Try
diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb
index 670335004..5f39d193d 100644
--- a/General/SaldosIniciales.aspx.vb
+++ b/General/SaldosIniciales.aspx.vb
@@ -2,6 +2,7 @@
Option Explicit On
Imports System.Data
Imports System.Math
+Imports ADSNetLibrary.SIGAPI.Models.OC.Response
Imports ClosedXML.Excel
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports Extensiones
@@ -2444,6 +2445,8 @@ Partial Class General_SaldosIniciales
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, 95, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
End If
+
+
Else
'ANTICIPOS
Dim CveIE As Integer = ObjIE.AddBancos_IE(1, 1, Fecha, Folio.ToString(), "", Total, 1,
@@ -2479,6 +2482,7 @@ Partial Class General_SaldosIniciales
ElseIf RblFormato.SelectedValue = "17" Then
Dim NoEncontrados As Integer = 0
+ Dim VentasAgregadas As Integer = 0
Dim Encontrados As Integer = 0
Dim StrRFCNoencontrados As New StringBuilder
Dim drr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero("AplicaParaVenta = 1")
@@ -2519,343 +2523,640 @@ Partial Class General_SaldosIniciales
Dim CountRow As Integer = 1
Dim LastSerieFolioTipoDoc As String = String.Empty
Dim EsDetalle As Boolean = False
- For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
- Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{Row("Sucursal").ToString()}'")
- Dim TipoDocto As String = Row("Tipo Documento").ToString().Trim
- Dim RFC As String = Row("RFC").ToString().Trim.Replace("-", "").Replace(" ", "")
- Dim Serie As String = Row("Serie").ToString().Trim
- Dim Folio As Integer = Row("Folio").ToString().ToEntero()
- Dim Fecha As Date = Row("Fecha").ToString().ToDate
- Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString().ToDate
- Dim ImpuestoLocal As Decimal = If(dt.Columns.Contains("ImpuestoLocal"), Row("ImpuestoLocal").ToString().ToDecimal, 0D)
- Dim Amortizacion As Decimal = If(dt.Columns.Contains("Amort.Ant"), Row("Amort.Ant").ToString().ToDecimal, 0)
- Dim CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString().ToEntero()
- If LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}" AndAlso UsuarioActual.CveEmpresa = 189 Then
- EsDetalle = True
- Else
- LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}"
- EsDetalle = False
- End If
+ If UsuarioActual.CveEmpresa = 189 Then
+
+ Dim DTFoliosFiscales As DataTable = dt.FiltraParametros("", "", {"Folio Fiscal"})
+
+ For Each drFolioFiscal As DataRow In DTFoliosFiscales.Rows
+ Dim FolioFiscalActual As String = drFolioFiscal("Folio Fiscal").ToString
+ Dim DRVentaActual As DataRow = dt.FiltroPrimero($"[Folio Fiscal] = '{FolioFiscalActual}'")
+
+ Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{DRVentaActual("Sucursal").ToString()}'")
+ Dim TipoDocto As String = DRVentaActual("Tipo Documento").ToString().Trim
+ Dim RFC As String = DRVentaActual("RFC").ToString().Trim.Replace("-", "").Replace(" ", "")
+ Dim Serie As String = DRVentaActual("Serie").ToString().Trim
+ Dim Folio As Integer = DRVentaActual("Folio").ToString().ToEntero()
+ Dim Fecha As Date = DRVentaActual("Fecha").ToString().ToDate
+ Dim FechaVencimiento As Date = DRVentaActual("Fecha Vencimiento").ToString().ToDate
+ Dim ImpuestoLocal As Decimal = If(dt.Columns.Contains("ImpuestoLocal"), DRVentaActual("ImpuestoLocal").ToString().ToDecimal, 0D)
+ Dim Amortizacion As Decimal = If(dt.Columns.Contains("Amort.Ant"), DRVentaActual("Amort.Ant").ToString().ToDecimal, 0)
+ Dim CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString().ToEntero()
+
+ If LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}" AndAlso UsuarioActual.CveEmpresa = 189 Then
+ EsDetalle = True
+ Else
+ LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}"
+ EsDetalle = False
+ End If
+
+ Dim SubTotal As Decimal = 0
+ Dim IVA As Decimal = 0
+ Dim Total As Decimal = 0
+ Dim Saldo As Decimal = 0
+ Dim RetIVA As Decimal = 0
+ Dim RetISR As Decimal = 0
+ Dim IEPS As Decimal = 0
+
+ SubTotal = DRVentaActual("SubTotal").ToString().ToDecimal
+ IVA = DRVentaActual("IVA").ToString().ToDecimal
+ Total = DRVentaActual("Total").ToString().ToDecimal
+ Saldo = DRVentaActual("Saldo").ToString().ToDecimal
+ RetIVA = DRVentaActual("Ret IVA").ToString().ToDecimal
+ RetISR = DRVentaActual("Ret ISR").ToString().ToDecimal
+ IEPS = DRVentaActual("IEPS").ToString().ToDecimal
+
+ Dim Moneda As String = DRVentaActual("Moneda").ToString()
+ Dim TipoCambio As String = DRVentaActual("Tipo Cambio").ToString()
+ Dim CveMoneda As Integer = 1
+ Dim Vendedor As String = If(dt.Columns.Contains("Vendedor"), DRVentaActual("Vendedor").ToString(), "")
+ Dim CveVendedor As Integer = 0
+
+ Dim CveClienteSucursal As Integer = 0 'Row("CveClienteSucursal").ToString().ToEntero()
+ 'Dim FolioFiscal As String = If(dt.Columns.Contains("Folio Fiscal"), DRVentaActual("Folio Fiscal").ToString(), "")
+ Dim PorcentajeIVA As Decimal = If(dt.Columns.Contains("PorcentajeIVA"), Round(DRVentaActual("PorcentajeIVA").ToString().ToDecimal, 2), 0)
+ Dim PorcentajeRetIVA As Decimal = If(dt.Columns.Contains("PorcentajeRetIVA"), Round(DRVentaActual("PorcentajeRetIVA").ToString().ToDecimal, 4), 0)
+ Dim PorcentajeRetISR As Decimal = If(dt.Columns.Contains("PorcentajeRetISR"), Round(DRVentaActual("PorcentajeRetISR").ToString().ToDecimal, 4), 0)
+ Dim PedidoContrato As String = If(dt.Columns.Contains("Pedido"), DRVentaActual("Pedido").ToString(), "")
+
+ GuardaLog(Sucursal + "-" + DRVentaActual("Folio").ToString())
+ 'Temporalmente SE BORRARA
+ Dim Transaccion As String = "" ' Row("Transaccion2").ToString()
+ Dim Folio2 As String = "" ' Row("Folio2").ToString()
+ Dim CodCliente As String = "" 'Row("CodCliente2").ToString()
+
+ TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESO", "INGRESOS", "ING", "FACTURA", "FACTURAS"), "Ing", IIf(TipoDocto.ToUpper.Contiene("EGRESO", "EGRESOS", "EGS"), "Egs", "Rem")).ToString()
+
+ 'Dim CantidadDetalle As Decimal = 0
+ 'Dim PUDetalle As Decimal = 0
+ 'Dim IVADetalle As Decimal = 0
+ Dim PorcentajeIEPS As Decimal = 0
- Dim SubTotal As Decimal = 0
- Dim IVA As Decimal = 0
- Dim Total As Decimal = 0
- Dim Saldo As Decimal = 0
- Dim RetIVA As Decimal = 0
- Dim RetISR As Decimal = 0
- Dim IEPS As Decimal = 0
-
- If UsuarioActual.CveEmpresa = 189 AndAlso Not EsDetalle Then
-
- For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
- SubTotal += item("SubTotal").ToString().ToDecimal
- IVA += item("IVA").ToString().ToDecimal
- Total += item("Total").ToString().ToDecimal
- Saldo += item("Saldo").ToString().ToDecimal
- RetIVA += item("Ret IVA").ToString().ToDecimal
- RetISR += item("Ret ISR").ToString().ToDecimal
- IEPS += item("IEPS").ToString().ToDecimal
+ Dim TotalDetalles As Decimal = 0
+ For Each dRowDetalle As DataRow In dt.FiltraParametros($"[Folio Fiscal]='{FolioFiscalActual}'").Rows
+ Dim CantidadDetalle As Decimal = dRowDetalle("Cantidad").ToString.ToDecimal 'digo PU IVADetalle
+ Dim PuDetalle As Decimal = dRowDetalle("PU").ToString.ToDecimal
+ Dim IVADetalle As Decimal = dRowDetalle("IVADetalle").ToString.ToDecimal
+ Dim IEPSDetalle As Decimal = dRowDetalle("IEPS").ToString.ToDecimal
+ TotalDetalles += (CantidadDetalle * PuDetalle) + IVADetalle + IEPSDetalle
Next
- Else
- SubTotal = Row("SubTotal").ToString().ToDecimal
- IVA = Row("IVA").ToString().ToDecimal
- Total = Row("Total").ToString().ToDecimal
- Saldo = Row("Saldo").ToString().ToDecimal
- RetIVA = Row("Ret IVA").ToString().ToDecimal
- RetISR = Row("Ret ISR").ToString().ToDecimal
- IEPS = Row("IEPS").ToString().ToDecimal
- End If
- Dim Moneda As String = Row("Moneda").ToString()
- Dim TipoCambio As String = Row("Tipo Cambio").ToString()
- Dim CveMoneda As Integer = 1
- Dim Vendedor As String = If(dt.Columns.Contains("Vendedor"), Row("Vendedor").ToString(), "")
- Dim CveVendedor As Integer = 0
- Dim CveClienteSucursal As Integer = 0 'Row("CveClienteSucursal").ToString().ToEntero()
- Dim FolioFiscal As String = If(dt.Columns.Contains("Folio Fiscal"), Row("Folio Fiscal").ToString(), "")
- Dim PorcentajeIVA As Decimal = If(dt.Columns.Contains("PorcentajeIVA"), Round(Row("PorcentajeIVA").ToString().ToDecimal, 2), 0)
- Dim PorcentajeRetIVA As Decimal = If(dt.Columns.Contains("PorcentajeRetIVA"), Round(Row("PorcentajeRetIVA").ToString().ToDecimal, 4), 0)
- Dim PorcentajeRetISR As Decimal = If(dt.Columns.Contains("PorcentajeRetISR"), Round(Row("PorcentajeRetISR").ToString().ToDecimal, 4), 0)
- Dim PedidoContrato As String = If(dt.Columns.Contains("Pedido"), Row("Pedido").ToString(), "")
+ If IEPS > 0 Then
+ PorcentajeIEPS = If(dt.Columns.Contains("PorcentajeIEPS"), Round(DRVentaActual("PorcentajeIEPS").ToString().ToDecimal, 4), 0)
+ End If
- GuardaLog(Sucursal + "-" + Row("Folio").ToString())
- 'Temporalmente SE BORRARA
- Dim Transaccion As String = "" ' Row("Transaccion2").ToString()
- Dim Folio2 As String = "" ' Row("Folio2").ToString()
- Dim CodCliente As String = "" 'Row("CodCliente2").ToString()
+ If Math.Abs(TotalDetalles - Total) > 0.01 Then
+ ErrorVentas = True
+ Alert($"Registro {CountRow} El total no coincide con el acumulado de los detalles, total: {Total.ToString("###,###,###.00")} detatalle: {TotalDetalles.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia)
+ Exit For
+ End If
- Dim IEPSDetalle As Decimal = 0
- Dim CantidadDetalle As Decimal = 0
- Dim PUDetalle As Decimal = 0
- Dim IVADetalle As Decimal = 0
- Dim PorcentajeIEPS As Decimal = 0
- If IEPS > 0 Then
- PorcentajeIEPS = If(dt.Columns.Contains("PorcentajeIEPS"), Round(Row("PorcentajeIEPS").ToString().ToDecimal, 4), 0)
- End If
+ If Vendedor <> "" Then
+ CveVendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString().ToEntero()
+ If Not CveVendedor > 0 Then CveVendedor = 0
+ Else
+ CveVendedor = 0
+ End If
- If RblFormato.SelectedValue = "17" Then
+ If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then
+ CveMoneda = 1
+ TipoCambio = "1"
+ ElseIf Moneda.ToUpper.Contiene("DÓLAR", "DÓLARES", "DOLARES", "USD") Then
+ CveMoneda = 2
- Dim CodigoDetalle As String = Row("Codigo").ToString
- If CodigoDetalle.Trim.Length > 0 Then
- Dim DrDetalles As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo = '{CodigoDetalle}'")
+ If TipoCambio.Trim.ToDecimal < 10 Then
- If DrDetalles IsNot Nothing Then
- CvePS = DrDetalles("CvePS").ToString().ToEntero()
- CveUnidadMedida = DrDetalles("CveUnidadMedida").ToString().ToEntero()
- CveClasificacion = DrDetalles("CveClasificacion").ToString().ToEntero()
- Else
- Alert($"El código del producto no se encontro, error en registro {CountRow}")
+ If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
+ TipoCambio = GlobalTipoCambio(Fecha.AddDays(-1)).ToString()
+ Else
+ TipoCambio = GlobalTipoCambio(Fecha).ToString()
+ End If
+
+ End If
+
+ End If
+
+
+ If TipoCambio = "" Then TipoCambio = "1"
+
+ If Not CveClienteSucursal > 0 Then CveClienteSucursal = -1
+
+ If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then
+ FechaVencimiento = Fecha
+ End If
+
+ If Not ErrorVentas Then
+ CvePrePoliza = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, CveMoneda, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ If Not CvePrePoliza > 0 Then
ErrorVentas = True
End If
- Else
- Alert($"El código es requerido, error en registro {CountRow}")
- ErrorVentas = True
End If
- IEPSDetalle = Row("IEPS").ToString.ToDecimal
- CantidadDetalle = Row("Cantidad").ToString.ToDecimal
- PUDetalle = Row("PU").ToString.ToDecimal
- IVADetalle = Row("IVA").ToString.ToDecimal
-
- If CantidadDetalle = 0 Then
- Alert($"No se especifico la cantidad, error en registro {CountRow}")
- ErrorVentas = True
- End If
-
- End If
-
- If dt.Columns.Contains("Cliente Sucursal") AndAlso Row("Cliente Sucursal").ToString() <> "" Then
-
- Dim ObjCliente As New ClsClientes
- If ObjCliente.GetSucursales(CveCliente) Then
- If ObjCliente.DtResultados.Rows.Count > 0 Then
- CveClienteSucursal = ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "SucursalCliente = '" & Row("Cliente Sucursal").ToString().Trim & "'").ToEntero
- End If
- End If
-
- ObjCliente.Dispose()
- End If
+ If Not ErrorVentas Then
+ 'Venta
+ If CveCliente > 0 Then
- 'If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For
- TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESO", "INGRESOS", "ING", "FACTURA", "FACTURAS"), "Ing", IIf(TipoDocto.ToUpper.Contiene("EGRESO", "EGRESOS", "EGS"), "Egs", "Rem")).ToString()
- 'PrePóliza
- If Not EsDetalle Then
- CvePrePoliza = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, 1, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- End If
+ If TipoDocto.Contiene("Ing", "Egs", "Rem") Then
+ GuardaLog(Serie & "-" & Folio)
+ If Not EsDetalle Then
+ If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDecimal,
+ 0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, 0, CvePrePoliza,
+ UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero(), CveSubProyectoEjecucion:=Sucursal.ToEntero(),
+ CveSubProyectoCobranza:=Sucursal.ToEntero(), IEPS:=IEPS, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestoLocal,
+ PedidoContrato:=PedidoContrato, CveMetodoPago33:=3) Then
+ ErrorVentas = True
+ Exit For
+ Else
+ VentasAgregadas += 1
+ End If
+ CveVenta = ObjVentas.CveVenta
+ End If
- If Vendedor <> "" Then
- CveVendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString().ToEntero()
- If Not CveVendedor > 0 Then CveVendedor = 0
- Else
- CveVendedor = 0
- End If
- 'Moneda
- If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then
- CveMoneda = 1
- TipoCambio = "1"
- ElseIf Moneda.ToUpper.Contiene("DÓLAR", "DÓLARES", "DOLARES", "USD") Then
- CveMoneda = 2
+ For Each dRowDetalle As DataRow In dt.FiltraParametros($"[Folio Fiscal]='{FolioFiscalActual}'").Rows
- If TipoCambio.Trim.ToDecimal < 10 Then
- If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
- TipoCambio = GlobalTipoCambio(Fecha.AddDays(-1)).ToString()
+ Dim CantidadDetalle As Decimal = dRowDetalle("Cantidad").ToString.ToDecimal 'digo PU IVADetalle
+ Dim PuDetalle As Decimal = dRowDetalle("PU").ToString.ToDecimal
+ Dim IVADetalle As Decimal = dRowDetalle("IVADetalle").ToString.ToDecimal
+ Dim IEPSDetalle As Decimal = dRowDetalle("IEPS").ToString.ToDecimal
+ Dim PorcentajeIEPSDetalle = dRowDetalle("PorcentajeIEPS").ToString.ToDecimal
+
+ Dim CodigoDetalle As String = dRowDetalle("Codigo").ToString
+ If CodigoDetalle.Trim.Length > 0 Then
+ Dim DrDetalles As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo = '{CodigoDetalle}'")
+
+ If DrDetalles IsNot Nothing Then
+ CvePS = DrDetalles("CvePS").ToString().ToEntero()
+ CveUnidadMedida = DrDetalles("CveUnidadMedida").ToString().ToEntero()
+ CveClasificacion = DrDetalles("CveClasificacion").ToString().ToEntero()
+ Else
+ Alert($"El código del producto no se encontro, error en registro {CountRow}")
+ ErrorVentas = True
+ End If
+ Else
+ Alert($"El código es requerido, error en registro {CountRow}")
+ ErrorVentas = True
+ End If
+
+ If Not ErrorVentas Then
+ If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, CantidadDetalle, CveUnidadMedida, PuDetalle, IVADetalle, TotalDetalles, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0,
+ PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=0, IEPS:=IEPSDetalle, PorcentajeRetISR:=0, PorcentajeIEPS:=PorcentajeIEPSDetalle) Then
+ ErrorVentas = True
+ Exit For
+ End If
+ End If
+
+ Next
+
+
+ Dim ConceptoContable As Integer = 1
+ Dim ConceptoContablePago As Integer = 2
+ If TipoDocto = "Egs" Then
+ ConceptoContable = 12
+ ConceptoContablePago = 91
+ End If
+
+ If FolioFiscalActual <> "" Then
+ If Not ObjVentas.UpdateVentaFolioFiscal(FolioFiscalActual, CveVenta, UsuarioActual.CveEmpresa) Then
+ ErrorVentas = True
+ Exit For
+ End If
+ End If
+
+ Dim UsaComplementaria As Boolean = False
+
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) Then UsaComplementaria = True
+
+ 'PrePólizaDetalle
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, SubTotal, 4, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero(), PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, ConceptoContable, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+
+ If IVA > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, IVA, 13, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ If IEPS > 0 Then
+ 'AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, Folio, 38, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IEPS)
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, IEPS, 38, Folio.ToString, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+
+ End If
+
+ If RetIVA > 0 Then
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 8, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ If RetISR > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 9, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ If ImpuestoLocal > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImpuestoLocal, ImpuestoLocal, 27, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+
+ If UsaComplementaria Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total * TipoCambio.ToDecimal - Total, Total * TipoCambio.ToDecimal - Total, 203, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteME:=Total, TipoCambio:=TipoCambio.ToDecimal, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ 'Saldo
+ If Saldo < Total Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Total - Saldo, ConceptoContablePago, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, 95, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ If Not ErrorVentas Then
+ VentasAgregadas += VentasAgregadas
+ End If
+
+ Else
+
+ 'ANTICIPOS
+ Dim CveIE As Integer = ObjIE.AddBancos_IE(1, 1, Fecha, Folio.ToString(), "", Total, 1, 1, "Anticipo Cliente", "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, 30, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, 66, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+
+ End If
+
+ '_______________________________________________________________
+
Else
- TipoCambio = GlobalTipoCambio(Fecha).ToString()
+ NoEncontrados = NoEncontrados + 1
+ StrRFCNoencontrados.AppendFormat("{0}
", RFC)
+ 'ErrorVentas = True
+ 'Exit For
+ End If
+
+
+
+ End If
+
+
+ Next
+ Else
+ For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
+
+ Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{Row("Sucursal").ToString()}'")
+ Dim TipoDocto As String = Row("Tipo Documento").ToString().Trim
+ Dim RFC As String = Row("RFC").ToString().Trim.Replace("-", "").Replace(" ", "")
+ Dim Serie As String = Row("Serie").ToString().Trim
+ Dim Folio As Integer = Row("Folio").ToString().ToEntero()
+ Dim Fecha As Date = Row("Fecha").ToString().ToDate
+ Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString().ToDate
+ Dim ImpuestoLocal As Decimal = If(dt.Columns.Contains("ImpuestoLocal"), Row("ImpuestoLocal").ToString().ToDecimal, 0D)
+ Dim Amortizacion As Decimal = If(dt.Columns.Contains("Amort.Ant"), Row("Amort.Ant").ToString().ToDecimal, 0)
+ Dim CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString().ToEntero()
+
+ If LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}" AndAlso UsuarioActual.CveEmpresa = 189 Then
+ EsDetalle = True
+ Else
+ LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}"
+ EsDetalle = False
+ End If
+
+
+ Dim SubTotal As Decimal = 0
+ Dim IVA As Decimal = 0
+ Dim Total As Decimal = 0
+ Dim Saldo As Decimal = 0
+ Dim RetIVA As Decimal = 0
+ Dim RetISR As Decimal = 0
+ Dim IEPS As Decimal = 0
+
+ If UsuarioActual.CveEmpresa = 189 AndAlso Not EsDetalle Then
+
+ For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
+ SubTotal += item("SubTotal").ToString().ToDecimal
+ IVA += item("IVA").ToString().ToDecimal
+ Total += item("Total").ToString().ToDecimal
+ Saldo += item("Saldo").ToString().ToDecimal
+ RetIVA += item("Ret IVA").ToString().ToDecimal
+ RetISR += item("Ret ISR").ToString().ToDecimal
+ IEPS += item("IEPS").ToString().ToDecimal
+ Next
+
+ Else
+ SubTotal = Row("SubTotal").ToString().ToDecimal
+ IVA = Row("IVA").ToString().ToDecimal
+ Total = Row("Total").ToString().ToDecimal
+ Saldo = Row("Saldo").ToString().ToDecimal
+ RetIVA = Row("Ret IVA").ToString().ToDecimal
+ RetISR = Row("Ret ISR").ToString().ToDecimal
+ IEPS = Row("IEPS").ToString().ToDecimal
+ End If
+
+ Dim Moneda As String = Row("Moneda").ToString()
+ Dim TipoCambio As String = Row("Tipo Cambio").ToString()
+ Dim CveMoneda As Integer = 1
+ Dim Vendedor As String = If(dt.Columns.Contains("Vendedor"), Row("Vendedor").ToString(), "")
+ Dim CveVendedor As Integer = 0
+
+ Dim CveClienteSucursal As Integer = 0 'Row("CveClienteSucursal").ToString().ToEntero()
+ Dim FolioFiscal As String = If(dt.Columns.Contains("Folio Fiscal"), Row("Folio Fiscal").ToString(), "")
+ Dim PorcentajeIVA As Decimal = If(dt.Columns.Contains("PorcentajeIVA"), Round(Row("PorcentajeIVA").ToString().ToDecimal, 2), 0)
+ Dim PorcentajeRetIVA As Decimal = If(dt.Columns.Contains("PorcentajeRetIVA"), Round(Row("PorcentajeRetIVA").ToString().ToDecimal, 4), 0)
+ Dim PorcentajeRetISR As Decimal = If(dt.Columns.Contains("PorcentajeRetISR"), Round(Row("PorcentajeRetISR").ToString().ToDecimal, 4), 0)
+ Dim PedidoContrato As String = If(dt.Columns.Contains("Pedido"), Row("Pedido").ToString(), "")
+
+ GuardaLog(Sucursal + "-" + Row("Folio").ToString())
+ 'Temporalmente SE BORRARA
+ Dim Transaccion As String = "" ' Row("Transaccion2").ToString()
+ Dim Folio2 As String = "" ' Row("Folio2").ToString()
+ Dim CodCliente As String = "" 'Row("CodCliente2").ToString()
+
+ Dim IEPSDetalle As Decimal = 0
+ Dim CantidadDetalle As Decimal = 0
+ Dim PUDetalle As Decimal = 0
+ Dim IVADetalle As Decimal = 0
+ Dim PorcentajeIEPS As Decimal = 0
+
+ If IEPS > 0 Then
+ PorcentajeIEPS = If(dt.Columns.Contains("PorcentajeIEPS"), Round(Row("PorcentajeIEPS").ToString().ToDecimal, 4), 0)
+ End If
+
+ If RblFormato.SelectedValue = "17" Then
+
+ Dim CodigoDetalle As String = Row("Codigo").ToString
+ If CodigoDetalle.Trim.Length > 0 Then
+ Dim DrDetalles As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo = '{CodigoDetalle}'")
+
+ If DrDetalles IsNot Nothing Then
+ CvePS = DrDetalles("CvePS").ToString().ToEntero()
+ CveUnidadMedida = DrDetalles("CveUnidadMedida").ToString().ToEntero()
+ CveClasificacion = DrDetalles("CveClasificacion").ToString().ToEntero()
+ Else
+ Alert($"El código del producto no se encontro, error en registro {CountRow}")
+ ErrorVentas = True
+ End If
+ Else
+ Alert($"El código es requerido, error en registro {CountRow}")
+ ErrorVentas = True
+ End If
+
+ IEPSDetalle = Row("IEPS").ToString.ToDecimal
+ CantidadDetalle = Row("Cantidad").ToString.ToDecimal
+ PUDetalle = Row("PU").ToString.ToDecimal
+ IVADetalle = Row("IVA").ToString.ToDecimal
+
+ If CantidadDetalle = 0 Then
+ Alert($"No se especifico la cantidad, error en registro {CountRow}")
+ ErrorVentas = True
End If
End If
- End If
+ If dt.Columns.Contains("Cliente Sucursal") AndAlso Row("Cliente Sucursal").ToString() <> "" Then
- 'Si no se especifica TC, se manda como pesos.
- If TipoCambio = "" Then TipoCambio = "1"
-
- If Not CveClienteSucursal > 0 Then CveClienteSucursal = -1
-
- If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then
- FechaVencimiento = Fecha
- End If
-
-
- 'Venta
- If CveCliente > 0 Then
-
-
- If TipoDocto.Contiene("Ing", "Egs", "Rem") Then
- GuardaLog(Serie & "-" & Folio)
- If Not EsDetalle Then
- If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDecimal,
- 0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, 0, CvePrePoliza,
- UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero(), CveSubProyectoEjecucion:=Sucursal.ToEntero(),
- CveSubProyectoCobranza:=Sucursal.ToEntero(), IEPS:=IEPS, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestoLocal,
- PedidoContrato:=PedidoContrato, CveMetodoPago33:=3) Then
- ErrorVentas = True
- Exit For
+ Dim ObjCliente As New ClsClientes
+ If ObjCliente.GetSucursales(CveCliente) Then
+ If ObjCliente.DtResultados.Rows.Count > 0 Then
+ CveClienteSucursal = ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "SucursalCliente = '" & Row("Cliente Sucursal").ToString().Trim & "'").ToEntero
End If
- CveVenta = ObjVentas.CveVenta
End If
- If Not EsDetalle Then
- SubTotal = Row("SubTotal").ToString().ToDecimal
- IVA = Row("IVA").ToString().ToDecimal
- Total = Row("Total").ToString().ToDecimal
- Saldo = Row("Saldo").ToString().ToDecimal
- RetIVA = Row("Ret IVA").ToString().ToDecimal
- RetISR = Row("Ret ISR").ToString().ToDecimal
- IEPS = Row("IEPS").ToString().ToDecimal
+ ObjCliente.Dispose()
+ End If
+
+
+ 'If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For
+ TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESO", "INGRESOS", "ING", "FACTURA", "FACTURAS"), "Ing", IIf(TipoDocto.ToUpper.Contiene("EGRESO", "EGRESOS", "EGS"), "Egs", "Rem")).ToString()
+ 'PrePóliza
+ If Not EsDetalle Then
+ CvePrePoliza = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, 1, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ End If
+
+ If Vendedor <> "" Then
+ CveVendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString().ToEntero()
+ If Not CveVendedor > 0 Then CveVendedor = 0
+ Else
+ CveVendedor = 0
+ End If
+
+ 'Moneda
+ If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then
+ CveMoneda = 1
+ TipoCambio = "1"
+ ElseIf Moneda.ToUpper.Contiene("DÓLAR", "DÓLARES", "DOLARES", "USD") Then
+ CveMoneda = 2
+
+ If TipoCambio.Trim.ToDecimal < 10 Then
+
+ If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
+ TipoCambio = GlobalTipoCambio(Fecha.AddDays(-1)).ToString()
+ Else
+ TipoCambio = GlobalTipoCambio(Fecha).ToString()
+ End If
+
End If
- If RblFormato.SelectedValue = "17" Then
+ End If
- Dim TotalDetalles As Decimal = SubTotal
- If PUDetalle > 0 Then
- TotalDetalles = (CantidadDetalle * PUDetalle) + IVA - RetIVA - RetISR + IEPSDetalle
+ 'Si no se especifica TC, se manda como pesos.
+ If TipoCambio = "" Then TipoCambio = "1"
+
+ If Not CveClienteSucursal > 0 Then CveClienteSucursal = -1
+
+ If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then
+ FechaVencimiento = Fecha
+ End If
+
+
+ 'Venta
+ If CveCliente > 0 Then
+
+
+ If TipoDocto.Contiene("Ing", "Egs", "Rem") Then
+ GuardaLog(Serie & "-" & Folio)
+ If Not EsDetalle Then
+ If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDecimal,
+ 0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, 0, CvePrePoliza,
+ UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero(), CveSubProyectoEjecucion:=Sucursal.ToEntero(),
+ CveSubProyectoCobranza:=Sucursal.ToEntero(), IEPS:=IEPS, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestoLocal,
+ PedidoContrato:=PedidoContrato, CveMetodoPago33:=3) Then
+ ErrorVentas = True
+ Exit For
+ Else
+ VentasAgregadas += 1
+ End If
+ CveVenta = ObjVentas.CveVenta
End If
- If Math.Abs(TotalDetalles - Total) > 0.01 Then
- ErrorVentas = True
- Alert($"Registro {CountRow} El total no councide con el calculo de los detalles, total: {Total.ToString("###,###,###.00")} calculo detatalles: {TotalDetalles.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia)
- Exit For
+ If Not EsDetalle Then
+ SubTotal = Row("SubTotal").ToString().ToDecimal
+ IVA = Row("IVA").ToString().ToDecimal
+ Total = Row("Total").ToString().ToDecimal
+ Saldo = Row("Saldo").ToString().ToDecimal
+ RetIVA = Row("Ret IVA").ToString().ToDecimal
+ RetISR = Row("Ret ISR").ToString().ToDecimal
+ IEPS = Row("IEPS").ToString().ToDecimal
End If
- If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, CantidadDetalle, CveUnidadMedida, PUDetalle, IVADetalle, TotalDetalles, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0,
- PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=IEPSDetalle, PorcentajeRetISR:=PorcentajeRetISR, PorcentajeIEPS:=PorcentajeIEPS) Then
- ErrorVentas = True
- Exit For
+ If RblFormato.SelectedValue = "17" Then
+
+ Dim TotalDetalles As Decimal = SubTotal
+ If PUDetalle > 0 Then
+ TotalDetalles = (CantidadDetalle * PUDetalle) + IVA - RetIVA - RetISR + IEPSDetalle
+ End If
+
+ If Math.Abs(TotalDetalles - Total) > 0.01 Then
+ ErrorVentas = True
+ Alert($"Registro {CountRow} El total no coincide con el acumulado de los detalles, total: {Total.ToString("###,###,###.00")} detatalle: {TotalDetalles.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia)
+ Exit For
+ End If
+
+ If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, CantidadDetalle, CveUnidadMedida, PUDetalle, IVADetalle, TotalDetalles, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0,
+ PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=IEPSDetalle, PorcentajeRetISR:=PorcentajeRetISR, PorcentajeIEPS:=PorcentajeIEPS) Then
+ ErrorVentas = True
+ Exit For
+ End If
+
+ Else
+ If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, 1, CveUnidadMedida, SubTotal, IVA, SubTotal * PorcentajeIVA, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0, PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=0) Then
+ ErrorVentas = True
+ Exit For
+ End If
+ End If
+
+
+
+ Dim ConceptoContable As Integer = 1
+ Dim ConceptoContablePago As Integer = 2
+ If TipoDocto = "Egs" Then
+ ConceptoContable = 12
+ ConceptoContablePago = 91
+ End If
+
+ If FolioFiscal <> "" Then
+ If Not ObjVentas.UpdateVentaFolioFiscal(FolioFiscal, CveVenta, UsuarioActual.CveEmpresa) Then
+ ErrorVentas = True
+ Exit For
+ End If
+ End If
+
+ Dim UsaComplementaria As Boolean = False
+
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) Then UsaComplementaria = True
+
+ If Not EsDetalle Then
+
+ SubTotal = 0
+ IVA = 0
+ Total = 0
+ Saldo = 0
+ RetIVA = 0
+ RetISR = 0
+ For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
+ SubTotal += item("SubTotal").ToString().ToDecimal
+ IVA += item("IVA").ToString().ToDecimal
+ Total += item("Total").ToString().ToDecimal
+ Saldo += item("Saldo").ToString().ToDecimal
+ RetIVA += item("Ret IVA").ToString().ToDecimal
+ RetISR += item("Ret ISR").ToString().ToDecimal
+ IEPS += item("IEPS").ToString().ToDecimal
+ Next
+
+ 'PrePólizaDetalle
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, SubTotal, 4, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero(), PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, ConceptoContable, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+
+ If IVA > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, IVA, 13, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ If IEPS > 0 Then
+ 'AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, Folio, 38, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IEPS)
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, IEPS, 38, Folio.ToString, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+
+ End If
+
+ If RetIVA > 0 Then
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 8, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ If RetISR > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 9, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ If ImpuestoLocal > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImpuestoLocal, ImpuestoLocal, 27, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+
+ If UsaComplementaria Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total * TipoCambio.ToDecimal - Total, Total * TipoCambio.ToDecimal - Total, 203, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteME:=Total, TipoCambio:=TipoCambio.ToDecimal, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
+
+ 'Saldo
+ If Saldo < Total Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Total - Saldo, ConceptoContablePago, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, 95, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ End If
End If
Else
- If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, 1, CveUnidadMedida, SubTotal, IVA, SubTotal * PorcentajeIVA, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0, PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=0) Then
- ErrorVentas = True
- Exit For
- End If
- End If
-
-
- Dim ConceptoContable As Integer = 1
- Dim ConceptoContablePago As Integer = 2
- If TipoDocto = "Egs" Then
- ConceptoContable = 12
- ConceptoContablePago = 91
- End If
-
- If FolioFiscal <> "" Then
- If Not ObjVentas.UpdateVentaFolioFiscal(FolioFiscal, CveVenta, UsuarioActual.CveEmpresa) Then
- ErrorVentas = True
- Exit For
- End If
- End If
-
- Dim UsaComplementaria As Boolean = False
-
- If UsuarioActual.CveEmpresa.Contiene(119, 158) Then UsaComplementaria = True
-
- If Not EsDetalle Then
-
- SubTotal = 0
- IVA = 0
- Total = 0
- Saldo = 0
- RetIVA = 0
- RetISR = 0
- For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
- SubTotal += item("SubTotal").ToString().ToDecimal
- IVA += item("IVA").ToString().ToDecimal
- Total += item("Total").ToString().ToDecimal
- Saldo += item("Saldo").ToString().ToDecimal
- RetIVA += item("Ret IVA").ToString().ToDecimal
- RetISR += item("Ret ISR").ToString().ToDecimal
- IEPS += item("IEPS").ToString().ToDecimal
- Next
-
- 'PrePólizaDetalle
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, SubTotal, 4, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero(), PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, ConceptoContable, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
-
- If IVA > 0 Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, IVA, 13, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
- End If
-
- If IEPS > 0 Then
- 'AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, Folio, 38, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IEPS)
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, IEPS, 38, Folio.ToString, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
-
- End If
-
- If RetIVA > 0 Then
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 8, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
- End If
-
- If RetISR > 0 Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 9, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
- End If
-
- If ImpuestoLocal > 0 Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImpuestoLocal, ImpuestoLocal, 27, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
- End If
-
-
- If UsaComplementaria Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total * TipoCambio.ToDecimal - Total, Total * TipoCambio.ToDecimal - Total, 203, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteME:=Total, TipoCambio:=TipoCambio.ToDecimal, Contabilizable:=False) Then ErrorVentas = True : Exit For
- End If
-
- 'Saldo
- If Saldo < Total Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Total - Saldo, ConceptoContablePago, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, Contabilizable:=False) Then ErrorVentas = True : Exit For
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, 95, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ If Not EsDetalle Then
+
+ SubTotal = 0
+ IVA = 0
+ Total = 0
+ Saldo = 0
+ RetIVA = 0
+ RetISR = 0
+ For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
+ SubTotal += item("SubTotal").ToString().ToDecimal
+ IVA += item("IVA").ToString().ToDecimal
+ Total += item("Total").ToString().ToDecimal
+ Saldo += item("Saldo").ToString().ToDecimal
+ RetIVA += item("Ret IVA").ToString().ToDecimal
+ RetISR += item("Ret ISR").ToString().ToDecimal
+ IEPS += item("IEPS").ToString().ToDecimal
+ Next
+
+ 'ANTICIPOS
+ Dim CveIE As Integer = ObjIE.AddBancos_IE(1, 1, Fecha, Folio.ToString(), "", Total, 1,
+ 1, "Anticipo Cliente", "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, 30, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, 66, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
End If
End If
+ Encontrados = Encontrados + 1
Else
-
- If Not EsDetalle Then
-
- SubTotal = 0
- IVA = 0
- Total = 0
- Saldo = 0
- RetIVA = 0
- RetISR = 0
- For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
- SubTotal += item("SubTotal").ToString().ToDecimal
- IVA += item("IVA").ToString().ToDecimal
- Total += item("Total").ToString().ToDecimal
- Saldo += item("Saldo").ToString().ToDecimal
- RetIVA += item("Ret IVA").ToString().ToDecimal
- RetISR += item("Ret ISR").ToString().ToDecimal
- IEPS += item("IEPS").ToString().ToDecimal
- Next
-
- 'ANTICIPOS
- Dim CveIE As Integer = ObjIE.AddBancos_IE(1, 1, Fecha, Folio.ToString(), "", Total, 1,
- 1, "Anticipo Cliente", "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, 30, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, 66, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
- End If
+ NoEncontrados = NoEncontrados + 1
+ StrRFCNoencontrados.AppendFormat("{0}
", RFC)
+ 'ErrorVentas = True
+ 'Exit For
End If
- Encontrados = Encontrados + 1
- Else
- NoEncontrados = NoEncontrados + 1
- StrRFCNoencontrados.AppendFormat("{0}
", RFC)
- 'ErrorVentas = True
- 'Exit For
- End If
+ CountRow = CountRow + 1
+ Next
+ End If
+
+
+
+
+ '**********************************************************************************************************************************************************************************
+
+
- CountRow = CountRow + 1
- Next
If Not ErrorVentas Then
- Alert(String.Format("Se agregaron: {0} Ventas correctamente. {1} no encontrados
{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgInformacion)
+
+ If UsuarioActual.CveEmpresa = 189 Then
+ Alert(String.Format("Se agregaron: {0} Ventas correctamente. {1} no encontrados
{2} ", VentasAgregadas, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgInformacion)
+ Else
+ Alert(String.Format("Se agregaron: {0} Ventas correctamente. {1} no encontrados
{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgInformacion)
+ End If
+
+
ObjVentas.Commit()
TxtExcel.Text = ""
UpDatos.Update()
diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs
index 62b89ba26..ecb092373 100644
--- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs
+++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs
@@ -629,15 +629,15 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
var CancelacionPagos = Modelos.OpcionesCancelacionPagos.SinPagos;
- if (UsuarioActual.Empresa.Funcionalidad(109) == "1")
+ if (UsuarioActual.Empresa.Funcionalidad(109) == "1" || UsuarioActual.Empresa.Funcionalidad(382) == "1")
{
CancelacionPagos = Modelos.OpcionesCancelacionPagos.ConPagos_CancelarIE;
}
- if (UsuarioActual.Empresa.Funcionalidad(382) == "1")
- {
- CancelacionPagos = Modelos.OpcionesCancelacionPagos.ConPagos_GenerarIxC;
- }
+ //if (UsuarioActual.Empresa.Funcionalidad(382) == "1")
+ //{
+ // CancelacionPagos = Modelos.OpcionesCancelacionPagos.ConPagos_GenerarIxC;
+ //}
retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse, CancelacionPagos: CancelacionPagos);
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 51652a2a7..f2dcdb177 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -407,6 +407,10 @@